llcom icon indicating copy to clipboard operation
llcom copied to clipboard

回调报错: System.NullReferenceException: 未将对象引用设置到对象的实例。 在 llcom.LuaEnv.LuaRunEnv.runTigger()

Open psuxaog opened this issue 9 months ago • 2 comments

描述一下这个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

image

日志 / 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.

psuxaog avatar May 14 '24 12:05 psuxaog