有无实现一段时间内根据某GPIO端口的高电平进行计数,低电平停止计数的好方法?条件是高低电平反复出现,要求根据GPIO高电平的累计计数得知高电平的总时间(比如用在抗抖动应用上,模拟了一个电容充电滤波的过程)。固然可以编程死循环查询电平,但是在多线程条件下循环的时间长短不一致,计数不准确。通过中断方法也免不了查询电平(因为不知道是上升沿还是下降沿,即便读取了电平也不一定是中断发生时的状态),还有为了提高精度,计数脉冲的频率尽量达到微妙级,这样中断的时间耗费也过大。有无定时器硬件的实现方法?
热门产品 :
CH32V317: 互联型青稞RISC-V MCU