嵌入式开发者社区

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

作者: vtinf    时间: 2016-8-9 13:37
标题: omapl138 ecap问题
您好, tl-notify-ecap-test.zip 中   void ECAPIsr(void* param)程序中:  value = value / 156; 其中156是怎么确定的?% G- {: g- c- {8 J) [
3 g5 G9 f8 L2 b4 ]: y% D  g

/ f( t5 K& z- r2 D! D$ Svoid ECAPIsr(void* param)
7 i( t. ~! h; K, T* t9 v{. H% I+ d! d, N+ H2 ?; b
    unsigned int intFlag;
, N/ E  v% o' B& ^0 Q    int valueUpdated = 0;/ Y5 a0 \# p- j, w  E

8 J6 |* _/ i2 n' @  e1 Z    intFlag = ECAPIntStatus(SOC_ECAP_REGS, ECAP_CNTOVF_INT
, f7 y" f1 N% t0 r1 A" T                                         | ECAP_CEVT1_INT0 q& s: f$ n7 \- i# B
                                         | ECAP_CEVT2_INT2 J, A! C& \, o
                                         | ECAP_CEVT3_INT3 I( B* G' |2 o* Q6 R
                                         | ECAP_CEVT4_INT);* f' _: i) T5 |$ y$ [. n8 k

# p, T8 D6 i# I* ]    ECAPIntStatusClear(SOC_ECAP_REGS, intFlag);
. v4 o& ^" G9 s9 d! j    //IntEventClear(SYS_INT_ECAP_CHANNEL);' y/ ~, a: y0 e  _3 n( H4 G6 X
5 Y, D3 x. ]) b% b7 N  ?5 U
    if(intFlag & ECAP_CEVT1_INT)
' a9 h) ~, D, K    {
, d$ @" M# V7 g3 ]! ]# ?//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_1);( J. C5 ~, {7 U5 ?/ [
//        valueUpdated = 1;* {' {- {, Z! C8 x
    }
' P7 R# s- g9 j# }- _. S2 E/ X    if(intFlag & ECAP_CEVT2_INT)4 l9 g0 `- B. h  R7 x9 X) O% v1 l
    {1 m7 T5 E' N: P! _2 m% l/ K6 B
        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_2);2 @5 M& J+ l" n- s. O
        valueUpdated = 1;& \9 o! @- s  o; c% `
    }6 a& E0 p: n) J8 J
    if(intFlag & ECAP_CEVT3_INT)* \6 u$ h, {8 s/ w) l/ z
    {  V1 m0 ~5 c/ z( j
//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_3);
# U. ?9 x# ~! U# @! g//        valueUpdated = 1;
. {& X! ?! P) F5 Z- _5 `    }$ n7 h& N* p2 D' M7 l$ ^
    if(intFlag & ECAP_CEVT4_INT)
2 t6 l' m4 A/ e* z3 U. O# ~4 F4 o    {. n* \0 ~* N6 }  Y
        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_4);3 _+ s& Y/ c; F/ D
        valueUpdated = 1;
# O* j. P$ v, i7 |1 B% M+ a9 c' w" Q    }
+ C$ q5 f) e0 v4 K! K, H    if(intFlag & ECAP_CNTOVF_INT)
4 X4 U6 N4 q$ q$ G) o8 a8 [" u! _6 M    {
- V2 l! }0 ^  f; h  Q! o- S% t        ECAPCounterConfig(SOC_ECAP_REGS, 0xffffffff - 228000000);" _5 j! }+ b+ Y& F% G: o$ Q
    }
) k* R# ^9 p6 ~    ECAPIntStatusClear(SOC_ECAP_REGS, ECAP_GLOBAL_INT);
  \  o: ^9 M5 ]; l( E' v1 M5 P9 L1 l$ m/ ]+ C) y" q
    if (valueUpdated)
; f" N5 O) M, L$ W0 Z        value = value / 156;# a4 V$ ^! ~+ O- b' l  _
}
# g6 I$ W* G  }* N5 n0 q0 d( S
作者: Jackindata    时间: 2016-8-12 09:50
hi,3 h2 [( b# S+ {$ z8 Y$ e
6 `( [6 n: D: M2 e3 U  d
156 这个值和 PLL 配置有关。6 _* p: @9 v7 M% W9 `" u

' a" o# a( {5 ^" I( B4 f" [PLL 配置为 312 MHz,312 / 2 = 156。" x% h1 h# O- `" _1 ]+ I7 N

作者: 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
3 h1 s- [: S" G' x- WLinux 内核里配置的
" P8 _" x% T+ q' A
内核里哪个文件?




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