嵌入式开发者社区

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

作者: vtinf    时间: 2016-8-9 13:37
标题: omapl138 ecap问题
您好, tl-notify-ecap-test.zip 中   void ECAPIsr(void* param)程序中:  value = value / 156; 其中156是怎么确定的?
. B! J& u, p. Z$ a- r9 [6 F  z) q6 A7 {1 ?
  ?8 ~/ s# D4 H* [
void ECAPIsr(void* param)
3 @: e$ h4 ~2 d6 S{
: I) k4 {7 q. B    unsigned int intFlag;" p, [5 [1 }* s8 J6 v7 N" I8 v) W0 M
    int valueUpdated = 0;' M# e# {& x1 \' Q

& t  }  J. W2 a! u; o1 s' n0 }' P    intFlag = ECAPIntStatus(SOC_ECAP_REGS, ECAP_CNTOVF_INT8 V5 Z  t7 R) ~  a# |7 Q9 V
                                         | ECAP_CEVT1_INT$ Y' V! |* m4 V+ m  f; y  w. O
                                         | ECAP_CEVT2_INT4 L6 v2 C( R5 E$ U
                                         | ECAP_CEVT3_INT
- o- h5 g8 w5 }                                         | ECAP_CEVT4_INT);1 P4 P( H  c$ K* v

; W$ M6 c& l9 ^5 V. P4 ~2 F    ECAPIntStatusClear(SOC_ECAP_REGS, intFlag);/ \$ G8 z5 U- i1 B# k. Z' S
    //IntEventClear(SYS_INT_ECAP_CHANNEL);
5 N( Q/ J0 W; ~4 e# b9 v2 M/ S& J( C9 I7 I
    if(intFlag & ECAP_CEVT1_INT)
3 Z, ]% ^( Q1 A& m    {4 H) M2 Y0 c# b" q1 t; K
//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_1);
' P* ^% v6 m) u4 y0 z//        valueUpdated = 1;6 ]+ M3 S. Y' X' r! P
    }% h* k" X& z/ R1 f" [! W* A
    if(intFlag & ECAP_CEVT2_INT)" v" z! ~/ N& b4 \
    {0 R! e  L, g7 z* Z3 |
        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_2);
  `1 S$ F; U% f. |        valueUpdated = 1;' _3 V" Q0 L4 y' G! T  T
    }
7 _- y: ~* q2 k3 [) d    if(intFlag & ECAP_CEVT3_INT)
) Z- X/ O- M3 V* P$ ~3 ?    {6 O! M! A1 s' o7 L) ^; {' M- t
//        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_3);: n. [' s$ ~$ J; k) p2 c5 v7 S
//        valueUpdated = 1;" R6 {* p! j1 H9 w" X4 Q& {
    }5 g/ R# l: p; a5 ^7 j$ E
    if(intFlag & ECAP_CEVT4_INT)
5 ~# r9 Y2 K$ P3 g. H  m# f    {
# F( A0 W4 _3 s, b2 G  j( W        value = ECAPTimeStampRead(SOC_ECAP_REGS, ECAP_CAPTURE_EVENT_4);
$ M& R2 M, a5 S% F% Q& [        valueUpdated = 1;) a& R7 }- t/ g7 M
    }
$ f: f; l$ B9 d3 ]" a    if(intFlag & ECAP_CNTOVF_INT)( n) p! _% G! h2 Q
    {; R. ^  i' F$ `
        ECAPCounterConfig(SOC_ECAP_REGS, 0xffffffff - 228000000);
$ v% q* a2 K' W1 h9 e    }! |( M3 E, d7 \7 ?
    ECAPIntStatusClear(SOC_ECAP_REGS, ECAP_GLOBAL_INT);* M+ `# @1 O, b& z8 }. i2 V) F# E
7 K( B0 u, v( z1 W  c
    if (valueUpdated)
$ B% J, U- T5 g+ J( E        value = value / 156;& u% W3 s& r  q+ q1 B5 S
}
' e' U% U- W; {1 q& R$ i
作者: Jackindata    时间: 2016-8-12 09:50
hi,
5 [8 j7 f% l: U- k, R+ z8 ^7 t# b, Q# A2 ]1 g+ T* v" g$ c
156 这个值和 PLL 配置有关。
5 p& e9 y4 Q" w: e- D' O
6 K# @2 z: A/ K: Z- C" s( MPLL 配置为 312 MHz,312 / 2 = 156。- ?' f  z) y$ a' r7 J4 m

作者: vtinf    时间: 2016-8-12 10:13
这是哪个头文件定义的?
作者: Lewis    时间: 2016-8-12 14:58
Linux 内核里配置的
作者: jinyi7016    时间: 2019-9-27 09:48
Lewis 发表于 2016-8-12 14:583 `( H+ O: m# a5 J
Linux 内核里配置的

. }$ T8 K' m2 S  q  X内核里哪个文件?




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