嵌入式开发者社区

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

作者: vtinf    时间: 2016-8-9 13:37
标题: omapl138 ecap问题
您好, tl-notify-ecap-test.zip 中   void ECAPIsr(void* param)程序中:  value = value / 156; 其中156是怎么确定的?+ o; Y) i1 z1 Q8 P
6 q3 Q& O& m$ A$ O
) k  o4 D4 c* n
void ECAPIsr(void* param)+ N& g/ r- A: V! Z; C
{
; Q# @  N2 f6 u3 p$ F: a    unsigned int intFlag;
1 x- t9 O5 m9 \& G    int valueUpdated = 0;4 ^3 A7 E* D# i5 p6 M
2 |. ]) o: P% A8 D; W+ d
    intFlag = ECAPIntStatus(SOC_ECAP_REGS, ECAP_CNTOVF_INT: l( A# E8 U% _/ ^. M( v) t5 ~
                                         | ECAP_CEVT1_INT
2 D, I. u4 W2 }0 h" k( b3 U                                         | ECAP_CEVT2_INT
8 s( X6 w, k, w+ d% D8 X1 Y) a                                         | ECAP_CEVT3_INT
$ ~! w- V) ?6 y5 d4 w, v+ ~                                         | ECAP_CEVT4_INT);0 D8 U+ J7 l% }  v9 G( {  p  b2 I

1 i7 h; f/ M3 s    ECAPIntStatusClear(SOC_ECAP_REGS, intFlag);. X" c, W' {" @& i, T% U2 y5 p
    //IntEventClear(SYS_INT_ECAP_CHANNEL);5 C' a& }% x- R  O( o9 C- }
" x3 ~; V+ h- B7 n: {' }: i$ [6 r2 g' l
    if(intFlag & ECAP_CEVT1_INT)7 f8 d2 m' U. ?- O* d: K% Z2 z
    {9 h; @% b0 L9 b1 S2 b
//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_1);$ `  Q$ W: B7 Y7 L4 }0 N
//        valueUpdated = 1;
# i# C1 Z& T0 H! T" X; T) q4 K6 R    }. U! G! v% ?8 v: C, U
    if(intFlag & ECAP_CEVT2_INT)
1 Q  [% i4 u: P3 ?3 w    {
$ c. N7 G- S5 E        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_2);
+ w/ F2 z# u6 p$ v# K4 f+ [- I4 }        valueUpdated = 1;
3 R( g0 y# w: c1 r: E5 y    }
" q$ Q! H, |2 `: h( F* h) H8 @( [    if(intFlag & ECAP_CEVT3_INT)5 u8 M8 R: }  X' I! u! M# [0 m( v
    {
. ]7 i4 w1 |4 x5 @& s9 Q$ k//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_3);
: f0 q1 N) h1 H  B1 ?9 }8 M% f: k//        valueUpdated = 1;
# I5 B& C$ A$ y7 s    }; b5 z% ^* j# S
    if(intFlag & ECAP_CEVT4_INT)" r" u; e; u  |7 y' g
    {
. H# g1 U) ^  i3 S9 D        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_4);
2 |+ n2 E: e7 n- W1 R        valueUpdated = 1;
  F/ f- i' S7 Z0 `    }
" J  r/ U- x' t5 s" G5 _    if(intFlag & ECAP_CNTOVF_INT)# m$ H* i% V1 a- I' }  a& ^3 Z
    {
; U: U8 Y* m- d0 i        ECAPCounterConfig(SOC_ECAP_REGS, 0xffffffff - 228000000);+ V  ?' G  y. y! J9 M5 g) s' a" I, Q
    }. f* f& g  x/ U% R% L
    ECAPIntStatusClear(SOC_ECAP_REGS, ECAP_GLOBAL_INT);
2 \$ |: u  J2 e; O
9 ]" @4 R6 d  e$ [8 ^; l8 f/ h5 `    if (valueUpdated); w3 }, J# l" R1 A
        value = value / 156;
  ]' _- x; I0 j3 a}' b/ m9 f7 U3 O4 P

作者: Jackindata    时间: 2016-8-12 09:50
hi,% V# X4 }0 z0 z, k( f, |# u, Z& c

( r7 p7 D) b) ]- ^: J/ M: A5 s( i156 这个值和 PLL 配置有关。
2 i' K4 b" f' o# Y. y/ P  O: Y3 s/ y; b0 Z/ D/ a, C
PLL 配置为 312 MHz,312 / 2 = 156。
: u& B; B- D+ n0 J. A* W; G
作者: 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, S5 Z/ `+ |/ T! C7 V4 B, v
Linux 内核里配置的

6 O  J6 U0 Q5 r  D) w内核里哪个文件?




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