|
|
您好, tl-notify-ecap-test.zip 中 void ECAPIsr(void* param)程序中: value = value / 156; 其中156是怎么确定的?+ X" v( S" [# @* e
4 D0 Y! b! g5 z5 B z+ t# ~% {/ ^9 G, n
void ECAPIsr(void* param)) S+ Q* W6 E0 ?' R
{9 C* k' A6 V8 b$ Z4 r1 p
unsigned int intFlag; p( y3 e# E% \! ]: U
int valueUpdated = 0;7 U3 q8 x+ d" `; l8 i1 [
, l a1 j: O& r8 a intFlag = ECAPIntStatus(SOC_ECAP_REGS, ECAP_CNTOVF_INT/ A4 g* n2 N/ }6 k: M
| ECAP_CEVT1_INT
! n6 n. T& `# ^ | ECAP_CEVT2_INT
; B; p6 P* Y- O- Z2 v3 V( s: t | ECAP_CEVT3_INT
9 X* d$ ^5 V$ C( U% @1 b8 `2 O" ` | ECAP_CEVT4_INT);
4 @) Z6 \& V2 O1 n$ ?
9 Q. \' {3 L- ^* a/ h6 [ ECAPIntStatusClear(SOC_ECAP_REGS, intFlag);
* d4 B" K# ? O //IntEventClear(SYS_INT_ECAP_CHANNEL);
& O4 h/ j1 Q& t
; D% W) `+ W2 h( d3 F if(intFlag & ECAP_CEVT1_INT)" ?. {2 `: L5 V. t+ L
{3 q- ^; P9 G0 \2 K) o. f
// value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_1);; S4 U* B1 q7 _+ c0 K4 f5 G7 U, a
// valueUpdated = 1;
b- V6 O6 z+ n# C$ G }
2 y- Z( E2 P" ? t+ V% L if(intFlag & ECAP_CEVT2_INT)
7 ]/ C1 x5 c2 w/ ?) ?2 q {
, Q/ G: I+ L7 F: l" _ value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_2);# e5 L( g/ ^9 ^/ J
valueUpdated = 1;) H: i+ ]7 p8 d: Z* m( Q8 c
}
8 h- Q9 n( B6 _% a if(intFlag & ECAP_CEVT3_INT)
/ n8 y. k: f$ g* U$ W {! Y; h3 L7 {1 D5 F0 S! _3 o5 j
// value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_3);: `; ], ^5 J `4 Q
// valueUpdated = 1;1 Z4 N6 i4 [ x9 y
}, Y6 }: l3 Q9 Q1 w$ a
if(intFlag & ECAP_CEVT4_INT)1 K& x7 V: a7 l
{
& y/ W4 M& Y" I2 g3 ~ value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_4);
4 b! f) _. b. A* }2 H valueUpdated = 1;; _" x4 q1 [4 m7 P
}9 F1 \( {: H! m4 [
if(intFlag & ECAP_CNTOVF_INT)& I5 ?% D( N0 Y5 J4 K
{
3 K. U, n+ J& n' D ECAPCounterConfig(SOC_ECAP_REGS, 0xffffffff - 228000000);, Q3 b: S( f" F
}. g/ ]! ^0 F/ {! f7 B( s
ECAPIntStatusClear(SOC_ECAP_REGS, ECAP_GLOBAL_INT);6 a: k) m H" {* h7 B: d
5 @- C' i/ X. \: |& r0 b
if (valueUpdated)
* Q7 v* |+ [+ x value = value / 156;
- i/ y+ Y3 r; Z4 u1 K% r}
3 c' i. P. K( V |
|