pinssetup.lua 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. local uartid = 2 -- 根据实际设备选取不同的uartid
  2. --把air780epm的PIN55脚,做uart2 rx用
  3. --把air780epm的PIN56脚,做uart2 tx用
  4. pins.setup(55, "UART2_RXD")
  5. pins.setup(56, "UART2_TXD")
  6. --初始化
  7. uart.setup(
  8. uartid,--串口id
  9. 115200,--波特率
  10. 8,--数据位
  11. 1--停止位
  12. )
  13. --循环发数据
  14. sys.timerLoopStart(uart.write,1000, uartid, "test")
  15. -- 收取数据会触发回调, 这里的"receive" 是固定值
  16. uart.on(uartid, "receive", function(id, len)
  17. local s = ""
  18. repeat
  19. s = uart.read(id, 1024)
  20. if #s > 0 then -- #s 是取字符串的长度
  21. -- 如果传输二进制/十六进制数据, 部分字符不可见, 不代表没收到
  22. log.info("uart", "receive", id, #s, s)
  23. -- 用HEX值打印收到的内容
  24. -- log.info("uart", "receive", id, #s, s:toHex())
  25. end
  26. until s == ""
  27. end)
  28. -- 发送数据会触发回调, 这里的"sent" 是固定值, id是回调参数, 由底层自动传入
  29. uart.on(uartid, "sent", function(id)
  30. log.info("uart", "sent", id)
  31. end)