llcom
llcom copied to clipboard
回调报错: System.NullReferenceException: 未将对象引用设置到对象的实例。 在 llcom.LuaEnv.LuaRunEnv.runTigger()
描述一下这个bug / Describe the bug
我在以9600波特率接收非字符串数据”FD 0F 00 00 00 00 00 00 25 FB 00 10 00 00 00 00 06 30 FE“时会时不时报出以下错误 [20:34:08:9734]回调报错: System.NullReferenceException: 未将对象引用设置到对象的实例。 在 llcom.LuaEnv.LuaRunEnv.runTigger() 以下是我的LUA代码,当只有uartReceive=function(data) end时也有该问题
uartReceive = function (data)
--log.info("收到的数据转成HEX是:",data:toHex()) --打印接收的数据的HEX字符串到lua环境
local sum = 0
for i = 3, 17 do
sum = sum + data:byte(i)
end
sum = sum & 0xFF - 1
--log.info(string.format("sum:%d, checksum:%d",sum,data:byte(17)))
if sum == data:byte(18) then
local current,motorVoltage,speed,batVoltage,chargVoltage,chargCurrent,duty
current = data:byte(3)*256+data:byte(4)
motorVoltage = data:byte(5)*256+data:byte(6)
speed = data:byte(7)*256+data:byte(8)
batVoltage = data:byte(9)*256+data:byte(10)
chargVoltage=data:byte(11)*256+data:byte(12)
chargCurrent=data:byte(13)*256+data:byte(14)
errCode=data:byte(17)
duty=data:byte(15)
-- 打印所有的变量
log.info(string.format("电流:%d mA, 电机电压:%d mV, 速度:%d RPM, 电池电压:%d mV, 充电电压:%d mV, 充电电流:%d mA, 占空比:%d, 错误码:%d", current, motorVoltage, speed, batVoltage, chargVoltage, chargCurrent, duty,errCode))
--log.info("aa")
end
end
复现步骤 / To Reproduce
接收我描述的二进制数据
预期的行为 / Expected behavior
应该能被正确解析
截图 / Screenshots
日志 / Logs
[20:37:37:4981][I]-[电流:366 mA, 电机电压:5514 mV, 速度:0 RPM, 电池电压:8806 mV, 充电电压:40 mV, 充电电流:24 mA, 占空比:61, 错误码:0] [20:37:37:7984][I]-[电流:396 mA, 电机电压:5532 mV, 速度:0 RPM, 电池电压:8709 mV, 充电电压:40 mV, 充电电流:0 mA, 占空比:62, 错误码:0] [20:37:37:8983]回调报错: System.NullReferenceException: 未将对象引用设置到对象的实例。 在 llcom.LuaEnv.LuaRunEnv.runTigger() [20:37:37:9982][I]-[电流:335 mA, 电机电压:5477 mV, 速度:0 RPM, 电池电压:9279 mV, 充电电压:32 mV, 充电电流:0 mA, 占空比:57, 错误码:0] [20:37:38:3981][I]-[电流:396 mA, 电机电压:5502 mV, 速度:0 RPM, 电池电压:9583 mV, 充电电压:40 mV, 充电电流:0 mA, 占空比:56, 错误码:0] [20:37:38:6981][I]-[电流:396 mA, 电机电压:5520 mV, 速度:0 RPM, 电池电压:9605 mV, 充电电压:40 mV, 充电电流:24 mA, 占空比:56, 错误码:0] [20:37:38:7990][I]-[电流:366 mA, 电机电压:5520 mV, 速度:0 RPM, 电池电压:9620 mV, 充电电压:40 mV, 充电电流:0 mA, 占空比:55, 错误码:0] [20:37:38:8977][I]-[电流:396 mA, 电机电压:5520 mV, 速度:0 RPM, 电池电压:9605 mV, 充电电压:40 mV, 充电电流:0 mA, 占空比:56, 错误码:0] [20:37:38:9976][I]-[电流:396 mA, 电机电压:5532 mV, 速度:0 RPM, 电池电压:9612 mV, 充电电压:40 mV, 充电电流:0 mA, 占空比:55, 错误码:0] [20:37:39:2976][I]-[电流:335 mA, 电机电压:5416 mV, 速度:0 RPM, 电池电压:9612 mV, 充电电压:40 mV, 充电电流:0 mA, 占空比:56, 错误码:0] [20:37:39:3964][I]-[电流:0 mA, 电机电压:4050 mV, 速度:0 RPM, 电池电压:9634 mV, 充电电压:32 mV, 充电电流:0 mA, 占空比:0, 错误码:0] [20:37:39:4954]回调报错: System.NullReferenceException: 未将对象引用设置到对象的实例。 在 llcom.LuaEnv.LuaRunEnv.runTigger()
系统 / System
Win10企业版
软件版本 / Version
1.1.3.3
验证
- [X] 检查该问题是否已被提过 / Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- [X] 提供了最小可复现工程或详细的复现步骤,确保开发者可以复现 / The provided reproduction is a minimal reproducible example of the bug.