我有一个Arduino草图,当在电路板上按下按钮时,通过串口报告数据。读取串口的是Node.js服务器,当按下按钮时,该服务器与操作系统有一些交互。
我首先发现的问题是,如果我在循环结束时没有延迟,那么Node.js服务器似乎会出现瓶颈并在完成最后一组之前开始阅读下一组指令。每个循环总是将数据发送到串行端口。
无论如何,我将草图设置为在每个循环结束时延迟100毫秒。
我现在发现的问题是,如果我按住按钮超过100毫秒,它会将其视为按下2个按钮,因此每个按钮上运行的node.js代码会加倍。有没有办法告诉用户按下按钮是否已经释放了按钮?
答案 0 :(得分:1)
您需要添加软件才能去掉开关。
根据您的应用程序可能需要自动重复或发送不同的 释放开关时的代码。
如果您只想发送一个,可以添加如下代码:
If (buttonpressed==TRUE)
{
If (buttonsent==FALSE)
{
sendbutton();
buttonsent=TRUE;
}
}
else
{
buttonsent=FALSE;
}