许多硬件附带一个Tx / Rx状态LED,但如果您的硬件没有并且您想查看数据是否正在传输,该怎么办?如果您只是将LED设置为线的值,它可能会在您看到之前打开和关闭(<1/100秒)。
我的问题是,如何编写中断驱动功能来驱动LED状态?我搜索了互联网,什么都没找到,我可以使用一个模数计数器,但这看起来很笨重。还有其他想法吗?
PS - 我想在Arduino或Mbed中使用它,但我怀疑它对于哪一个问题有所不同......
答案 0 :(得分:1)
一种简单的方法是在Tx / Rx中断时打开LED并启动一个200ms的定时器(足够长的时间来感知)。然后在定时器ISR中关闭LED。
这样,指示灯在最后 tx / rx活动后200毫秒消失。如果活动持续,指示灯将保持点亮。
如果tx / rx突发断断续续,间隙大于200ms,指示灯将闪烁。因此,关闭,开启和闪烁的状态给出了数据活动的广泛指示。