Data Tx/Rx状态LED功能

Eri*_*sum 2 embedded transmission arduino led

很多硬件都附带一个Tx/Rx状态LED,但如果您的硬件没有,并且您想查看数据是否正在传输,该怎么办?如果您只是将LED设置为线的值,它可能会在您看到之前打开和关闭(<1/100秒).

我的问题是,如何编写中断驱动功能来驱动LED状态?我搜索了互联网,什么都没找到,我可以使用一个模数计数器,但这看起来很笨重.还有其他想法吗?

PS - 我想在Arduino或Mbed中使用它,但我怀疑它对于哪一个问题有所不同......

Sam*_*uce 6

void receive_or_transmit_interrupt()
{
     g_traffic = true;
     /* other stuff. */
}

void timer_that_fires_every_100_milliseconds()
{
     if ( led == ON)
     {
          led = OFF;
          g_traffic = false;
     }
     else if ( g_traffic )
     {
          led = ON;
     }
}
Run Code Online (Sandbox Code Playgroud)

如果您不希望计时器在没有流量的情况下始终触发,您可以更改receive_or_transmit_interrupt为启用计时器,并且计时器可以在关闭LED时自行禁用.