xpl 发表于 2023-5-15 20:32:01

LUA_CAN相关的问题

无法更换波特率,例如第一次打开的是500kbps函数,如果第二次打开的是250kbps函数,那么250会被强制改变成500kbps
例如第一次打开的是250kbps函数,第二次打开500kbps的函数,那么500会被强制改变为250
解决方式关机重启选择250kb

canbus_close()函数也没用

还有一个问题是 CAN报文如何每隔100ms或者250ms循环发送

function on_init()
end

如果波特率写在初始化函数里 波特率将永远无法更改

function on_control_notify(screen,control,value)
    if screen == screen_can_260 and control == 1 and value == 1--eu260_screen = 103
    then

      canbus_open(0,500,0,0)

      send_data_buffer =0x45
      send_data_buffer =0x34
      send_data_buffer =0x4d
      send_data_buffer =0x00
      send_data_buffer =0x17
      send_data_buffer =0x70
      send_data_buffer =0x0b
      send_data_buffer =0x3a

      canbus_write(0,CAN_CMD_ID_BAIC_EU260,8,0,0,send_data_buffer)

      canbus_close(0)

    end

    if screen == screen_can_eu5 and control == 1 and value == 1--eu5_screen = 104
    then

      canbus_open(0,250,0,0)

      send_data_buffer =0x13
      send_data_buffer =0x89
      send_data_buffer =0x4D
      send_data_buffer =0x90
      send_data_buffer =0x3C
      send_data_buffer =0x26
      send_data_buffer =0x03
      send_data_buffer =0xDE

      canbus_write(0,CAN_CMD_ID_YEMA,8,0,0,send_data_buffer)

      canbus_close(0)

    end

end




xpl 发表于 2023-5-15 20:33:48

用定时函数吗?


能在一个函数里发送不同ID 不同数据的的报文吗? 实例基本和没有一样

If后要接end 发表于 2023-5-16 09:58:47

xpl 发表于 2023-5-15 20:33
用定时函数吗?




canbus_close()这个可以抓一下屏幕的实际运行信息,看看有没有提示can关闭。
两个ID的can都开启了的话,应该是可以用定时器循环发送不同ID的报文

xpl 发表于 2023-5-16 20:59:13

If后要接end 发表于 2023-5-16 09:58
canbus_close()这个可以抓一下屏幕的实际运行信息,看看有没有提示can关闭。
两个ID的can都开启了的话, ...

请教一下如何抓取屏幕的实际运行信息

xpl 发表于 2023-5-16 21:01:28

If后要接end 发表于 2023-5-16 09:58
canbus_close()这个可以抓一下屏幕的实际运行信息,看看有没有提示can关闭。
两个ID的can都开启了的话, ...

大彩有多一些的CAN的实例和教程吗?资料真的太缺了

就两句话

xpl 发表于 2023-5-16 21:04:57

If后要接end 发表于 2023-5-16 09:58
canbus_close()这个可以抓一下屏幕的实际运行信息,看看有没有提示can关闭。
两个ID的can都开启了的话, ...

在串口监视器里吧   GNDA B CANL CANH VCC

接A和B对吧

If后要接end 发表于 2023-5-17 08:46:56

xpl 发表于 2023-5-16 20:59
请教一下如何抓取屏幕的实际运行信息

https://bbs.gz-dc.com/forum.php?mod=viewthread&tid=825&extra=page%3D1

xpl 发表于 2023-6-10 23:14:12

If后要接end 发表于 2023-5-16 09:58
canbus_close()这个可以抓一下屏幕的实际运行信息,看看有没有提示can关闭。
两个ID的can都开启了的话, ...

canbus_close()函数可以关闭CAN总线

CAN总线教程里的实例是不对的
canbus_open()函数不能写在on_init()初始化函数里面否则CAN总线波特率将无法改变此时只能关机 选择其他界面的CAN波特率

解决方案把canbus_open()函数写在其他函数里面

xpl 发表于 2023-6-10 23:21:39

If后要接end 发表于 2023-5-17 08:46
https://bbs.gz-dc.com/forum.php?mod=viewthread&tid=825&extra=page%3D1

定时器只有32个吗?我这边需要使用很多定时器来循环发送数据    32个定时器不够用

能超过实例的32个吗?

If后要接end 发表于 2023-6-12 08:46:18

xpl 发表于 2023-6-10 23:21
定时器只有32个吗?我这边需要使用很多定时器来循环发送数据    32个定时器不够用

能超过实例的32个 ...

只有32个
页: [1] 2 3 4
查看完整版本: LUA_CAN相关的问题