广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4938|回复: 31

LUA_CAN相关的问题

[复制链接]

2

主题

27

帖子

126

积分

注册会员

Rank: 2

积分
126
发表于 2023-5-15 20:32:01 | 显示全部楼层 |阅读模式
无法更换波特率,例如第一次打开的是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[0] =  0x45
        send_data_buffer[1] =  0x34
        send_data_buffer[2] =  0x4d
        send_data_buffer[3] =  0x00
        send_data_buffer[4] =  0x17
        send_data_buffer[5] =  0x70
        send_data_buffer[6] =  0x0b
        send_data_buffer[7] =  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[0] =  0x13
        send_data_buffer[1] =  0x89
        send_data_buffer[2] =  0x4D
        send_data_buffer[3] =  0x90
        send_data_buffer[4] =  0x3C
        send_data_buffer[5] =  0x26
        send_data_buffer[6] =  0x03
        send_data_buffer[7] =  0xDE

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

        canbus_close(0)

    end

end




回复

使用道具 举报

2

主题

27

帖子

126

积分

注册会员

Rank: 2

积分
126
 楼主| 发表于 2023-5-15 20:33:48 | 显示全部楼层
用定时函数吗?


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

使用道具 举报

2

主题

1253

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12541
发表于 2023-5-16 09:58:47 | 显示全部楼层
xpl 发表于 2023-5-15 20:33
用定时函数吗?

canbus_close()这个可以抓一下屏幕的实际运行信息,看看有没有提示can关闭。
两个ID的can都开启了的话,应该是可以用定时器循环发送不同ID的报文
Easy doesn't enter into Grown-up life
成年人的生活里面没有“容易”二字
回复

使用道具 举报

2

主题

27

帖子

126

积分

注册会员

Rank: 2

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

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

使用道具 举报

2

主题

27

帖子

126

积分

注册会员

Rank: 2

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

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

就两句话
回复

使用道具 举报

2

主题

27

帖子

126

积分

注册会员

Rank: 2

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

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

接A和B对吧
回复

使用道具 举报

2

主题

1253

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12541
发表于 2023-5-17 08:46:56 | 显示全部楼层
xpl 发表于 2023-5-16 20:59
请教一下如何抓取屏幕的实际运行信息

https://bbs.gz-dc.com/forum.php? ... &extra=page%3D1
Easy doesn't enter into Grown-up life
成年人的生活里面没有“容易”二字
回复

使用道具 举报

2

主题

27

帖子

126

积分

注册会员

Rank: 2

积分
126
 楼主| 发表于 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()函数写在其他函数里面

回复

使用道具 举报

2

主题

27

帖子

126

积分

注册会员

Rank: 2

积分
126
 楼主| 发表于 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个吗?
回复

使用道具 举报

2

主题

1253

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12541
发表于 2023-6-12 08:46:18 | 显示全部楼层
xpl 发表于 2023-6-10 23:21
定时器只有32个吗?  我这边需要使用很多定时器来循环发送数据    32个定时器不够用  

能超过实例的32个 ...

只有32个
Easy doesn't enter into Grown-up life
成年人的生活里面没有“容易”二字
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2024-4-29 08:11 , Processed in 0.046559 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表