2019-12-10 18:14发布
elec2000 发表于 2019-10-6 15:53 设两个变量 NH,NL分别代表高电平和低电平时间。 开始计数时,高电平NH+1,低电平NL+1,当NH+NL=1000以后 ...
hackboymzw 发表于 2019-10-6 20:21 设计一个FIFO环形缓存A[100],一共100个成员,初始化为FF。 一个Timer定时器,10ms一次中断,中断里读取IO ...
最多设置5个标签!
假设 :开始1000ms一直是0,那么NL 是1000, NH是0,然后给高1ms低1ms,循环500次,这样再经历了1000ms(高500ms 低500ms),最后NL是1 ,NH是999,和楼上的兄弟一样的,就是他定义一个这样的变量,你定义了两个这样的变量
一个Timer定时器,10ms一次中断,中断里读取IO口状态,写入FIFO内,高写1,低写0
接下来事情就简单了,任何时刻你只要遍历一下这个数组,是0就继续往前读,读到1,就开始计数,直到又读到0,计数完毕,然后把计数X10ms,就是高电平时间。
按照你的要求,精度10ms
非常可行,赞同
一周热门 更多>