2.5-Air302(NB-IOT)-基礎外設-串口(485,422)


<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/Learn-NB-IOT-Air302-ForLua" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

 

配置串口2,接收到什么回什么

 

 

local UART_ID=2 --串口2

-- 訂閱串口發布消息的主題
sys.subscribe("uart_write", function(data)
    uart.write(UART_ID, data) --返回接收的數據
end)

uart.on(UART_ID, "receive", function(id, len)
    local data = uart.read(id, 1024)
    sys.publish("uart_write", data) --發布主題為 uart_write 的消息
end)
-- 配置串口2,波特率115200,8位數據位.1位停止位,無校驗位,小端模式,緩存大小1024字節
uart.setup(UART_ID, 115200,8,1,uart.None,uart.LSB,1024)

 

485接法

 

 

 

 

422接法

 

 

 

 

 

 

處理串口數據

1.字符串

 

 

 

 

 

 

 

2.16進制數據

 

 

 

 

sys.subscribe("uart_write", function(data)
    if  data == "123"  then --接收到 "123" 返回 "456"
        uart.write(UART_ID, "456") --返回接收的數據
    end

    --接收到 0xaa 0x55  返回 0x01 0x03
    if  data:byte(1) == 0xaa and data:byte(2) == 0x55 then
        local hexdata = string.char(0x01, 0x03)
        uart.write(UART_ID,hexdata)--返回數據
    end

end)

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM