迪文科技论坛

 找回密码
 立即注册
搜索
查看: 211|回复: 7

【提问】CAN通信提问

[复制链接]

1

主题

8

回帖

82

积分

注册会员

Rank: 2

积分
82
发表于 2025-7-12 10:43:55 | 显示全部楼层 |阅读模式
can通信传输大于或等于66000的值,报文只能显示00 00 01 D0,正常不应该是00 01 01 D0吗?求大佬指导一下是什么问题。(萌新)
回复

使用道具 举报

0

主题

926

回帖

8227

积分

论坛元老

Rank: 8Rank: 8

积分
8227
发表于 2025-7-12 13:21:16 | 显示全部楼层
可以参考这个链接:【开源】T5L0_CAN通讯
http://inforum.dwin.com.cn:20080 ... 43&fromuid=8850
(出处: 迪文科技论坛)
回复

使用道具 举报

1

主题

8

回帖

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2025-7-12 14:09:46 | 显示全部楼层
168988 发表于 2025-7-12 13:21
可以参考这个链接:【开源】T5L0_CAN通讯
http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid ...

用过了,但是好像也不行
回复

使用道具 举报

0

主题

340

回帖

2361

积分

金牌会员

Rank: 6Rank: 6

积分
2361
发表于 2025-7-12 14:59:03 | 显示全部楼层
变量类型不对吧,变量是不是只设16位,不是32位的。
回复

使用道具 举报

1

主题

8

回帖

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2025-7-12 15:46:51 | 显示全部楼层
本帖最后由 ggsd 于 2025-7-12 15:48 编辑
紫狐 发表于 2025-7-12 14:59
变量类型不对吧,变量是不是只设16位,不是32位的。

用的联合体
typedef union {
    u32 as_u16;         
    u8  n_value[4];      
} converter_t;  然后把值赋给as_16,然后传输n——value
回复

使用道具 举报

1

主题

8

回帖

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2025-7-12 17:03:56 | 显示全部楼层
紫狐 发表于 2025-7-12 14:59
变量类型不对吧,变量是不是只设16位,不是32位的。

大佬,还是一样。。
typedef union {
    u16 as_u16;         
    u8  n_value[4];      
} converter_t;
converter_t conv;
把66000赋给as_u16
CanTx(0x0288F03F,0x80,4,(u8*)conv.n_value);        打出来还是只有00 00 01 D0
回复

使用道具 举报

0

主题

340

回帖

2361

积分

金牌会员

Rank: 6Rank: 6

积分
2361
发表于 2025-7-12 20:42:53 | 显示全部楼层
不要用这个联合体,就用普通变量,可以直接看这个变量的数据的,用write-dgus函数写到地址里,屏上显示出来,这个是变量类型没搞好造成的。肯定是要32位的数才能放下,估计是一开始这个数就传错了。
回复

使用道具 举报

1

主题

8

回帖

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2025-7-14 09:52:04 | 显示全部楼层
紫狐 发表于 2025-7-12 20:42
不要用这个联合体,就用普通变量,可以直接看这个变量的数据的,用write-dgus函数写到地址里,屏上显示出来 ...

感谢大佬,是的,我用普通变量传输,发现就是数据溢出的问题,需要在计算过程中给他进行long强转就可以了。非常感谢
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-8-28 04:39 , Processed in 0.053672 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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