嵌入式开发者社区

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

作者: vtinf    时间: 2016-8-9 13:37
标题: omapl138 ecap问题
您好, tl-notify-ecap-test.zip 中   void ECAPIsr(void* param)程序中:  value = value / 156; 其中156是怎么确定的?% V& ~1 d0 K8 x! k. F
! c5 c% W2 M) V" P

- }) ~: Z3 \6 Q% t  |+ d/ y. jvoid ECAPIsr(void* param)
- X" H, ^! U8 |, L* v- _{
. s& F8 L! T5 |0 x: e( A    unsigned int intFlag;3 V9 U  E& X' q
    int valueUpdated = 0;3 [8 Z' ]9 _5 c- h
, i% v% B4 H  Q" a9 t
    intFlag = ECAPIntStatus(SOC_ECAP_REGS, ECAP_CNTOVF_INT6 g- D, l% x* P
                                         | ECAP_CEVT1_INT
- H' s+ }7 G/ ^% Y" b- q                                         | ECAP_CEVT2_INT. t9 a! A7 h* P6 W/ |0 G
                                         | ECAP_CEVT3_INT8 {. Z+ X( U& Q/ m7 e
                                         | ECAP_CEVT4_INT);
4 I/ ^0 K) q& U7 G/ s4 N" W4 h; S  l  O  @  x
    ECAPIntStatusClear(SOC_ECAP_REGS, intFlag);
' Y. O7 ?2 ]1 Q3 Q    //IntEventClear(SYS_INT_ECAP_CHANNEL);' @( `  Y; Z4 l( q2 L

/ |5 J+ U" Y; z- a& C4 @+ U    if(intFlag & ECAP_CEVT1_INT)9 @; k+ I+ G* ^2 Y9 O" e
    {
9 f) y- P& T$ u3 C$ J% [' U//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_1);
/ S6 ^) H6 c- z0 `% E//        valueUpdated = 1;
( r, z5 z, X# h2 }    }0 l0 y& Y4 `: E1 h; K% ?  A7 [
    if(intFlag & ECAP_CEVT2_INT)) A# d' I/ Q7 F7 y1 H
    {3 x5 X  ^! S" o
        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_2);
: I% c& E3 [+ P& q        valueUpdated = 1;" v# I; B2 k* _- R1 K
    }' L- x1 s2 @8 R0 e0 V
    if(intFlag & ECAP_CEVT3_INT)# G: S0 H( E: W' y  o
    {3 k  A! t" I7 @1 D$ }5 B( `/ a
//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_3);
6 y; b1 P+ M4 y& l//        valueUpdated = 1;1 B6 m  r/ R/ K! E
    }
9 I; u7 P5 ^/ o  M3 Z. Z3 R* d    if(intFlag & ECAP_CEVT4_INT)
9 ~# z/ g- C8 C! K" e  a    {
- Q! x0 P: y9 f4 O: c  o" I  w8 a        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_4);
- p% i% Y; y+ [# h, |1 f        valueUpdated = 1;# f7 {3 @, P$ T( f+ s* F( `
    }( S7 E! ?/ H# Y: I9 o) |" ~
    if(intFlag & ECAP_CNTOVF_INT)
! _: w, h3 X* w6 g    {, P5 e5 A  ]/ V& G+ L7 V
        ECAPCounterConfig(SOC_ECAP_REGS, 0xffffffff - 228000000);
- K6 K! @) a. n0 |  [% V  P( i    }
$ ^& D6 B3 u2 k1 P    ECAPIntStatusClear(SOC_ECAP_REGS, ECAP_GLOBAL_INT);
; G2 @  G' T. F. j: g+ ?
: n9 y/ T- d! _, s2 ?, P! C5 p    if (valueUpdated)" [$ Z3 N7 z' B: x: g7 G" g$ i
        value = value / 156;* C* p4 d2 i7 q! C* o2 q
}
/ Z/ {5 X, q" p( b4 l) W
作者: Jackindata    时间: 2016-8-12 09:50
hi,
" @) ?( D5 Y: Q1 I
9 ]/ s7 @, r/ `, c# V& p156 这个值和 PLL 配置有关。+ A7 a2 H0 U; S' Y3 i

( Z( _( j4 d) e1 b% U+ l, CPLL 配置为 312 MHz,312 / 2 = 156。
' i/ `, S, n3 `3 g3 t3 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
4 ~  ]! p/ g7 H" F3 K& m3 l8 h* n; TLinux 内核里配置的

1 \# j; B+ d3 n6 s内核里哪个文件?




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