嵌入式开发者社区

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

作者: vtinf    时间: 2016-8-9 13:37
标题: omapl138 ecap问题
您好, tl-notify-ecap-test.zip 中   void ECAPIsr(void* param)程序中:  value = value / 156; 其中156是怎么确定的?
  l' s# ]- ^4 C, a% O% u/ P
! x9 |/ Z- ]) V' E; j2 h$ B4 {' H' C& Z3 Z  s: w
void ECAPIsr(void* param)8 Q" k, ^  P. |
{
( X/ b3 ]/ _" L    unsigned int intFlag;
- e! t# d3 y1 ^    int valueUpdated = 0;- W( J; @9 m% L! w' \
! U: `1 o2 s9 _" D2 t% s1 y% l4 a
    intFlag = ECAPIntStatus(SOC_ECAP_REGS, ECAP_CNTOVF_INT
, b6 L! j/ P  c! F                                         | ECAP_CEVT1_INT& {# v# R  Y( }
                                         | ECAP_CEVT2_INT( D$ }( a6 v: r( m: d
                                         | ECAP_CEVT3_INT2 \# E5 W0 V1 X/ A0 v; e
                                         | ECAP_CEVT4_INT);' _( P3 e! a( B. n+ m/ p
0 H! K1 Y  Q3 U3 G" j" X; l
    ECAPIntStatusClear(SOC_ECAP_REGS, intFlag);
7 M. ?, t# D$ `3 ?/ `! E1 b% @    //IntEventClear(SYS_INT_ECAP_CHANNEL);
) }: Z( }+ u8 ^4 D1 G
/ X- R9 f1 @* k# Q9 U3 ^& y9 @; h( k    if(intFlag & ECAP_CEVT1_INT)
! d7 o+ g0 _' N. b- F1 R- q    {1 i- V, k" m7 G- Y9 M! K# ?
//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_1);
& n( x1 ]1 N( S  N6 v//        valueUpdated = 1;
( B( b, x* B2 v. E    }: o4 b" M( h9 @# d: D
    if(intFlag & ECAP_CEVT2_INT)
/ P' B! u% N5 m& Z: ]! Y+ [    {
. z9 g6 m% y, m( K) f9 q        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_2);
. ?( g/ [: `  _) i        valueUpdated = 1;# j7 I4 C" k; ~
    }8 q1 l: C  X- h0 E% K) i
    if(intFlag & ECAP_CEVT3_INT)4 u) M  m  N) g
    {
7 B8 Y7 M# j3 q# {) M" i! w//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_3);% \5 I: d2 ~& z8 C/ ~5 _0 I
//        valueUpdated = 1;
; }' g4 g: D& K0 j    }  B5 h* @( {0 Y" V8 }
    if(intFlag & ECAP_CEVT4_INT)
, q% d2 a4 Q. M8 u) `! |& g: A    {  L" L, o" X/ K3 [
        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_4);, {) u  c. e- t$ l* H2 N
        valueUpdated = 1;
- ^, H4 W. W8 S    }8 h" O, g. m" s8 h5 P! [6 i
    if(intFlag & ECAP_CNTOVF_INT)
5 p  U1 A3 u4 X! F0 V9 o/ o3 I    {
+ \+ ?) l3 D* }7 g        ECAPCounterConfig(SOC_ECAP_REGS, 0xffffffff - 228000000);
* _4 W, g: a8 H( e" c  O/ H7 r    }
( T! Q* O8 q1 j, K    ECAPIntStatusClear(SOC_ECAP_REGS, ECAP_GLOBAL_INT);
1 ?/ p& s" V% `8 Z% F4 y8 O! G- H9 j' N" O
    if (valueUpdated)( V2 v8 ?; [$ [; r1 I
        value = value / 156;
4 B$ ?: c: B0 Y* i: ^* d8 h0 e}! x- U/ S5 u+ j, l; x5 A

作者: Jackindata    时间: 2016-8-12 09:50
hi,
% }) t1 u4 T: S2 Y3 b" n- F3 [; s6 l# ~0 L+ g1 `
156 这个值和 PLL 配置有关。
# H& G) F5 B6 {1 C. D4 [3 Y# T8 M8 E; @6 R
PLL 配置为 312 MHz,312 / 2 = 156。
, \9 ~$ j8 L5 o
作者: vtinf    时间: 2016-8-12 10:13
这是哪个头文件定义的?
作者: Lewis    时间: 2016-8-12 14:58
Linux 内核里配置的
作者: jinyi7016    时间: 2019-9-27 09:48
Lewis 发表于 2016-8-12 14:582 [6 f+ [' K* i/ ?1 t: j
Linux 内核里配置的
4 ?  \' l% b8 T: }; J" I/ g
内核里哪个文件?




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