嵌入式开发者社区

标题: omapl138 ecap问题 [打印本页]

作者: vtinf    时间: 2016-8-9 13:37
标题: omapl138 ecap问题
您好, tl-notify-ecap-test.zip 中   void ECAPIsr(void* param)程序中:  value = value / 156; 其中156是怎么确定的?
+ R6 v# Y" }! y& x) C/ M! v: d
" n4 F# s& Q4 _4 s
7 G$ s' X7 X9 Y/ Bvoid ECAPIsr(void* param)
3 c& \6 C9 C" b  ^, u0 @. x{
9 S% G( M  G' E8 D5 Q1 p9 P0 \6 f0 a    unsigned int intFlag;
9 m! {  T: T% Y- T- ^    int valueUpdated = 0;$ |: O2 h, G5 R$ b. d8 F- f, O& Q

6 S# L8 `& k: Y5 L+ P    intFlag = ECAPIntStatus(SOC_ECAP_REGS, ECAP_CNTOVF_INT8 h4 R4 N$ k  d! [. u6 Z6 \1 o$ `$ R
                                         | ECAP_CEVT1_INT* a8 W5 {  x5 n7 H+ H* m
                                         | ECAP_CEVT2_INT1 k/ m2 \: A1 Y, t/ E% w- A3 J
                                         | ECAP_CEVT3_INT8 Y5 E% d6 @0 y7 |$ K, H2 K$ V
                                         | ECAP_CEVT4_INT);0 p3 M# ~9 m5 r5 m! b" c5 |) q. q
2 g3 B  g- p) c8 @
    ECAPIntStatusClear(SOC_ECAP_REGS, intFlag);
/ G6 ]; O  `9 N    //IntEventClear(SYS_INT_ECAP_CHANNEL);4 {1 g1 |4 Z" j8 v5 x/ o- R+ D
! E1 K. t- C2 @0 N
    if(intFlag & ECAP_CEVT1_INT)0 N. i4 X3 i. m0 \! m) U
    {
8 j, w( v9 h3 W; W% i0 G//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_1);
; K$ K7 w/ `) l" X, ?//        valueUpdated = 1;
& a! T; i3 W/ w6 o3 T    }/ d4 N) Z: q: z; K5 C) I: R6 n9 W
    if(intFlag & ECAP_CEVT2_INT)
  @1 |% |2 K; N( u7 H+ F% Y# E    {
. ?7 R' N$ n5 H7 p' q        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_2);
# _) }& U* f7 Y8 s. N) u! ?        valueUpdated = 1;2 b. z! Y$ c6 o+ P$ R$ H# F
    }% P6 P1 j% |0 Q9 R0 x" |1 L; [
    if(intFlag & ECAP_CEVT3_INT)
1 [; H6 q# w! O, H0 X9 H* N3 c    {
1 v- p, k( u) v- @. Z# L$ }//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_3);
( @7 Z; {$ h/ M' i- Z* T  R//        valueUpdated = 1;3 O4 u" T; v+ o8 d2 U4 ^
    }( N$ L3 Z# S7 k, d' Z; Y
    if(intFlag & ECAP_CEVT4_INT)  r* a% i1 K8 O9 |
    {
) J: ?; g4 K0 ?  y( D        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_4);
6 A6 A- \) M2 z& j0 p% U        valueUpdated = 1;
; S* W. s9 n+ R4 L% C    }
0 R& G! O+ a& Z    if(intFlag & ECAP_CNTOVF_INT)
0 `% ^5 d4 [( e4 I; c5 ~, ?    {$ W; [( z' X/ A
        ECAPCounterConfig(SOC_ECAP_REGS, 0xffffffff - 228000000);, u5 ]% K: ]- D+ [4 }
    }
& y0 a& v- _9 e" N    ECAPIntStatusClear(SOC_ECAP_REGS, ECAP_GLOBAL_INT);/ B  D! Z0 v* ]

5 Q/ l$ p: |* {0 J5 A& ]% @    if (valueUpdated)
" m0 @' ?2 l; a+ o, F        value = value / 156;
3 Q4 v8 o- U9 C3 T$ r}
" D( h8 e# |/ A6 E+ u: _2 U, B
作者: Jackindata    时间: 2016-8-12 09:50
hi,
0 K+ a* W: E3 U
, v8 V; t2 E% C3 V156 这个值和 PLL 配置有关。
6 N$ Q( a8 ?3 W5 @
6 z8 C" ]5 v4 O* nPLL 配置为 312 MHz,312 / 2 = 156。9 W. v& Z5 ~! b% ^

作者: vtinf    时间: 2016-8-12 10:13
这是哪个头文件定义的?
作者: Lewis    时间: 2016-8-12 14:58
Linux 内核里配置的
作者: jinyi7016    时间: 2019-9-27 09:48
Lewis 发表于 2016-8-12 14:58
- G) S7 ^2 n, l  uLinux 内核里配置的
( i4 Q9 S2 Q. G+ o
内核里哪个文件?




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4