标签:function end uart UartReceData -- 串口 8266 UartReceCnt
UartReceCnt = 0 UartReceTempCnt = 0 UartReceData = "" TimerMs:register(1, tmr.ALARM_AUTO, function() --TimerMs:register(10,1,function() if UartReceCnt ~= 0 then if UartReceTempCnt == UartReceCnt then UartReceCnt = 0 UartReceTempCnt = 0 --[[if UartReceData == "open" then print("open") elseif UartReceData == "close" then gpio.write(4,1) print("close") end--]] myMQTT:publish(topic1,UartReceData, 0, 0, function(client) end) --uart.write(0,UartReceData) UartReceData = "" else UartReceTempCnt = UartReceCnt end end end) --TimerMs:start() uart.setup(0, 115200, 8, uart.PARITY_NONE, uart.STOPBITS_1) uart.on("data",0,function(data) UartReceData = UartReceData..data UartReceCnt = UartReceCnt + 1 end,0)
提醒
按照上面的写法以后,便不能下载程序,所有的指令也不能运行
这样可以防止别人点击 Reload 加载出来里面的程序
用户需要重新刷空固件
然后再刷LUA开发的固件
然后再进行开发
调试编程的时候为避免这种情况发生
建议的方式:
处理串口的数据另外用一个文件处理
init 延时加载那个文件
local T = tmr.create() T:register(3000, 0, function() if file.open("uart.lua", "r") then file.close(); dofile("uart.lua") end end) T:start();
这样,每次复位模块的时候,都有3S的时间去操作清除文件
然后再进行下载调试
参考:https://www.cnblogs.com/yangfengwu/p/12038932.html
标签:function,end,uart,UartReceData,--,串口,8266,UartReceCnt 来源: https://www.cnblogs.com/fw-qql/p/14530958.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。