我想为这个函数添加一个计时器,这样每次读取一个uid时它都会重新启动,并且我可以设置另一个函数来在达到一定时间后执行serial.write。我们称之为空闲时间功能。我无法将此绑定到ID读取,因为我有28个ID可能被读取。我想通过serial.write使用ASCII命令重置我的音频播放器,如果没有读取超过180秒的iud ...建议?
if(uid[0] == 0x64 && uid[1] == 0xBF && uid[2] == 0xD8 && uid[3] == 0x51)
{
//pause at beginning
delay (500);
//Serial.write("for Bässgen MM3210")
Serial.write("listplay 1 1");
Serial.write(13);
//pause at end
delay (3000);
}
答案 0 :(得分:0)
您可以从millis()调用中为每个uid分配一个值。
它基本上计算自芯片开启以来的毫秒数。它被存储了很长时间,所以它会每隔80天左右重置为零,我想(我从未离开过那么久)
我这样做是为了计算一个随机数组,根据其中有多少数据来写入更快或更慢的数据。而不是使用delay()和计数循环,使用millis()允许我在特定时间跳入。