xpl 发表于 2024-4-23 16:41:49

CAN回调函数的疑问

function on_canbus_recv (index,identifier,dlc,rtr,ide,data)

        if CAN_CMD_ID == identifier then
                set_value(screen_can,5,rtr)
                if data ~= nil and data ~= nil then
                        local show_value = (data<<8) + data
                        set_value(screen_can,2,show_value)
                        set_value(screen_can,3,dlc)
                        set_value(screen_can,5,rtr)
                        set_value(screen_can,6,ide)
                        canbus_write(0,CAN_CMD_ID,dlc,0,0,data)

                end

        end
       
end


这个函数还需要用function声明么还是可以值接on_canbus_recv去使用

on_canbus_recv(index,identifier,dlc,rtr,ide,data) CAN 报文回调函数,收到报文后,
系统自动调用
 index --索引号 0~1
 identifier --报文 ID(越小优先级越高)
 dlc --数据长度(0~8,最长 8 个字节)
 rtr --远程帧,0 代表否,1 代表是
 ide --扩展帧,0 代表否,1 代表是
 data --数据,table 格式

还有就是里面的index以及ide需要人为去填写么   还是不理会即可

dctechnology 发表于 2024-4-23 17:06:52

这个是回调函数,里面是形参,对应不需要调用,可以不处理

xpl 发表于 2024-4-23 17:29:52

dctechnology 发表于 2024-4-23 17:06
这个是回调函数,里面是形参,对应不需要调用,可以不处理

好的   谢谢 哥

xpl 发表于 2024-4-23 17:35:20

dctechnology 发表于 2024-4-23 17:06
这个是回调函数,里面是形参,对应不需要调用,可以不处理

哥 再请教个问题 stm32 或者 这个大彩如何处理 一个CAN id的多包报文
同个id 每10ms发送不同数据发送7次我该怎么处理
页: [1]
查看完整版本: CAN回调函数的疑问