|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我对硬件定时进行了了解,发现替代的方法有个用定时器来搞的:
1 O9 Z1 V7 r/ m% T& ` M O1 w在定时器中断里设置一个标志位,每当定时器运行到设定的时间,就将该位置置位(定时短)或+1(定时时间较长),然后用外部程序去查询这个标志位,做判断., S( `' f# x2 k) _
2 ~( K1 n9 V7 ^
但是我又有了个疑惑,对于后者,假如我要定时30毫秒,定时器溢出时间为1ms,标志位用8位无符号
# ^4 q4 G1 n2 H: r5 g* e7 a那到了240的时候,240+30=14 ,溢出了~ 这个怎么处理?- i8 g6 S, k- i
难道我把最大阈值设定为225么? 那假如我有多个不同的延时需要进行处理呢?.... 没办法呀~ 难道要设置最大延时限制值么?...; {- w/ _0 m9 m! G$ N; |! ^
; f% E8 J! X/ P% N
让人很是摸不着头脑,求大家帮助一下我呀~
! S7 \8 F2 y. v6 i/ }. M$ Z& s6 G, h" e+ k7 u2 j& S/ _
5 h" e! H. a6 Y. I$ c. M" q2 G$ K: I* ]+ W6 J
& |* T6 g% C3 I j/ w! g1 e |
|