|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我对硬件定时进行了了解,发现替代的方法有个用定时器来搞的:) |$ [; T0 `- p8 H- J
在定时器中断里设置一个标志位,每当定时器运行到设定的时间,就将该位置置位(定时短)或+1(定时时间较长),然后用外部程序去查询这个标志位,做判断.
1 D4 G! M! m: ~- P2 K" W# A! C0 N. n' {: G# H$ |
但是我又有了个疑惑,对于后者,假如我要定时30毫秒,定时器溢出时间为1ms,标志位用8位无符号8 ?/ o2 D, i6 ~" L) q* |
那到了240的时候,240+30=14 ,溢出了~ 这个怎么处理?
6 e. M1 k' T3 ~$ l, I难道我把最大阈值设定为225么? 那假如我有多个不同的延时需要进行处理呢?.... 没办法呀~ 难道要设置最大延时限制值么?...
1 d8 o! N: D. K( D9 ], k7 s+ n5 N" V/ z- J3 Z' n; }
让人很是摸不着头脑,求大家帮助一下我呀~
6 I& i2 D+ K. r( u' K2 W6 e+ r0 I3 g2 s: ~, E4 s/ v0 O; [4 P6 b
9 R" q2 q4 ~( r! n' d
( E( Y, M y% t y" Y# W |
|