嵌入式开发者社区

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

作者: vtinf    时间: 2016-8-9 13:37
标题: omapl138 ecap问题
您好, tl-notify-ecap-test.zip 中   void ECAPIsr(void* param)程序中:  value = value / 156; 其中156是怎么确定的?3 Y( \7 X- W) J% o3 v

( l2 p1 O8 w/ y, F. }
& N1 n1 c0 d" ~4 H# Y  f' G, zvoid ECAPIsr(void* param)
' F4 e' }7 ?9 U* e- \$ F{
$ g8 ^" L5 M0 m/ l" R+ P% j    unsigned int intFlag;) h5 g! V8 _/ z  l1 s- a
    int valueUpdated = 0;
: ?7 I- T( v: @0 H. k1 j- Q8 p3 k9 s3 X" N  z2 J, Y
    intFlag = ECAPIntStatus(SOC_ECAP_REGS, ECAP_CNTOVF_INT6 ~! g( E1 X$ V1 E- y. i  B2 V
                                         | ECAP_CEVT1_INT
. c# l: h+ E4 }! W- ^8 Y$ x6 B                                         | ECAP_CEVT2_INT
8 G; {# _) W* ?8 `- N6 u: l                                         | ECAP_CEVT3_INT
+ r) I8 f( m5 d# z                                         | ECAP_CEVT4_INT);
& P7 u2 z) R2 \8 k; j+ i1 A, s. \$ W5 h" N, A* w( g
    ECAPIntStatusClear(SOC_ECAP_REGS, intFlag);) {0 D' q7 E4 B
    //IntEventClear(SYS_INT_ECAP_CHANNEL);& S- N' R  f6 e( y! G6 P5 `* J
  R$ N! ^* T4 D0 s
    if(intFlag & ECAP_CEVT1_INT)  W! I. U( [9 |0 A8 A2 x/ n
    {% r% a0 i9 a& p
//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_1);
- Z* [* x, E* H" y7 Q//        valueUpdated = 1;
$ P% A# [) P& L* S    }
, [. F. u6 K* C( q  y5 ], U+ `    if(intFlag & ECAP_CEVT2_INT)! @; U- L( M7 B8 @" a, T
    {2 q3 ]6 L$ ^( P) F& q
        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_2);
# A2 E+ m6 }  T: U9 b: }/ `9 b4 |6 h        valueUpdated = 1;& Y& @$ P9 K; b$ O4 s- n6 [! {! k+ V
    }5 N' |. Y' C, S' Y7 w( t
    if(intFlag & ECAP_CEVT3_INT)9 N- ^4 m* B8 Z( \5 V" }
    {
( V' S4 L7 C+ ^3 R9 q//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_3);
0 Y6 `& d0 t5 i7 U4 Y" }//        valueUpdated = 1;. B1 v8 e$ t. H9 W
    }
* L1 l8 D( T6 J0 D( B    if(intFlag & ECAP_CEVT4_INT); r0 ^' A1 e5 j4 k! \% ]. ?9 J6 _/ ^9 w
    {& I# v7 ^' {2 P- y
        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_4);/ \* k) H/ d+ R5 r% w
        valueUpdated = 1;4 r) a4 Q; d( H3 }
    }
& @0 U( T5 E( O$ v" R    if(intFlag & ECAP_CNTOVF_INT), H- f8 c! h" a' j' u5 T- C4 L$ T
    {6 P$ O# l5 ^$ Z$ I3 B9 A  v. g  Z& U
        ECAPCounterConfig(SOC_ECAP_REGS, 0xffffffff - 228000000);
! m, y9 t% H  a8 d) w    }
* ^; C& `* W# ]* k    ECAPIntStatusClear(SOC_ECAP_REGS, ECAP_GLOBAL_INT);* Z' q# D, a7 \5 [7 U% \

' o& ]$ Q" J& N# C: }    if (valueUpdated)9 F( U4 F+ Z2 _$ o/ H2 b3 k
        value = value / 156;
: Q. L* g. w1 g: i}
- l3 i5 w) v2 W3 [  {6 M) D
作者: Jackindata    时间: 2016-8-12 09:50
hi,
0 X3 |: M, t1 P: X: K4 C/ m" u0 s- x5 ^( }* U0 U+ O( ~
156 这个值和 PLL 配置有关。
$ n5 b/ V& \2 a& O/ f5 H5 O  C( S1 K0 Y/ a% S6 P
PLL 配置为 312 MHz,312 / 2 = 156。; N% U) `$ ?; J0 n; k/ W4 K8 Q

作者: 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/ T* p2 h4 E; [& E0 g- A; a. ~+ Y
Linux 内核里配置的
* v5 V) C2 W5 V0 o2 ]. [
内核里哪个文件?




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