有的场景下,外部设备是通过uart持续性的输入很多数据,直到发送完毕,才会停止,发送期间是没有间断的。所以这里设置100ms是为了判断是否已经停止接收,从而进行下一步的处理。
代码的注释也说的很清楚:
--[[
功能定义:
uart接收数据,如果100毫秒没有收到新数据,则打印出来所有已收到的数据,清空数据缓冲区,回复received x frame给对端,然后等待下次数据接收
注意:
串口帧没有定义结构,仅靠软件延时,无法保证帧的完整性,如果对帧接收的完整性有严格要求,必须自定义帧结构(参考testUart.lua)
因为在整个GSM模块软件系统中,软件定时器的精确性无法保证,例如本demo配置的是100毫秒,在系统繁忙时,实际延时可能远远超过100毫秒,达到200毫秒、300毫秒、400毫秒等
设置的延时时间越短,误差越大
]]
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!