zoukankan      html  css  js  c++  java
  • 8266串口

    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  

  • 相关阅读:
    个人介绍
    2021-03-16 助教小结
    2020软件工程作业05
    2020软件工程作业04
    2020软件工程作业03
    第二次作业 计划与执行
    从蓝天到名利 所有你想要的 都别随风去
    Android Task 相关
    Android ViewDragHelper源码解析
    android利用反射通过代码收缩通知栏
  • 原文地址:https://www.cnblogs.com/fw-qql/p/14530958.html
Copyright © 2011-2022 走看看