格式错误

--- 模块功能:MCU和Air模块串口透传通信.
-- Air模块的串口接收到1024字节的数据,或者接收数据后超时1秒钟不再收到数据,则透传给服务器
--
-- 服务器下发的数据,通过服务器直接透传给MCU
-- @author openLuat
-- @module socketLongConnectionTrasparent.mcuUart
-- @license MIT
-- @copyright openLuat
-- @release 2018.03.30

module(...,package.seeall)

require"pm"

local uartID = 1

local function taskRead()
local cacheData = ""
while true do
local s = uart.read(uartID,"*1")
if s == "" then
uart.on(uartID,"receive",function() sys.publish("UART_RECEIVE") end)
if not sys.waitUntil("UART_RECEIVE",1000) then
sys.publish("UART_RECV_DATA",cacheData:sub(1,1024))
cacheData = cacheData:sub(1025,-1)
end
uart.on(uartID,"receive")
else
cacheData = cacheData..s
if cacheData:len()>=1024 then
sys.publish("UART_RECV_DATA",cacheData:sub(1,1024))
cacheData = cacheData:sub(1025,-1)
end
end
end
end

local function socketRecvData(data)
uart.write(uartID,data)
end


pm.wake("mcuUart.lua")
uart.setup(uartID,115200,8,uart.PAR_NONE,uart.STOP_1)
sys.taskInit(taskRead)

sys.subscribe("SOCKET_RECV_DATA",socketRecvData)
这一段代码,程序运行时报告格式错误是怎么回事

请先 登录 后评论

1 个回答

冷红林
擅长:互联网

建议把trace贴上,看代码不方便分析问题

请先 登录 后评论
  • 1 关注
  • 0 收藏,2466 浏览
  • rainmakersk 提出于 2018-09-14 17:34

相似问题