打印
[技术问答]

can通信长度怎么设置

[复制链接]
872|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mutable|  楼主 | 2022-10-8 21:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

发现can发送长度有几个地方需要设置:第一次,发送初始化里,设置IF1CMDMSK;
第二次,还是在发送初始化里,设置IF1MSGC;
第三次,在启动can的函数,又设置了一次IF1CMDMSK;
第四次,在can发送函数里,再一次设置IF1CMDMSK。
那么为什么需要这么多次,每次有什么区别,懂得大侠,给点指点,不胜感激。


CAN的数据长度,是否为固定的呢?

使用特权

评论回复
沙发
Alina艾| | 2022-10-12 11:53 | 只看该作者
我看别的demo里也没有在初始化部分设置长度呀?

使用特权

评论回复
板凳
Emily999| | 2022-10-12 13:06 | 只看该作者
你可以通过自己写个库函数,把这个长度设置封装一下呗

使用特权

评论回复
地板
Betty996| | 2022-10-12 14:15 | 只看该作者
我觉得没必要设置这么多次的

使用特权

评论回复
5
Carina卡| | 2022-10-12 15:23 | 只看该作者
新唐的can我还是捉摸不透,不咋用,一般都用串口之类的

使用特权

评论回复
6
Betty1299| | 2022-10-12 17:18 | 只看该作者
你看看手册吧,看看为啥需要设置这么多次

使用特权

评论回复
7
foxsbig| | 2022-10-12 20:37 | 只看该作者
找例程,可能是别人的 底子有问题

使用特权

评论回复
8
alxd| | 2022-10-13 12:29 | 只看该作者
我看网上很多can的demo好像也不需要设置这么多次的发送长度

使用特权

评论回复
9
B1lanche| | 2022-10-13 14:25 | 只看该作者
我一直以为,can就和485差不多,就很简单,没想到我想简单了

使用特权

评论回复
10
Charlene沙| | 2022-10-14 08:03 | 只看该作者
那你设置完成之后是否能正常使用呀?能的话,就可以不用太过纠结了吧

使用特权

评论回复
11
Belle1257| | 2022-10-14 09:12 | 只看该作者
可能机制就这样呗,新唐本来库就和ST的不一样

使用特权

评论回复
12
Allison8859| | 2022-10-14 15:31 | 只看该作者
我可正点原子的程序,好像发送的时候是需要设置长度,但是好像就在这儿设置就行,不需要初始化还设置

使用特权

评论回复
13
tpgf| | 2022-11-7 10:34 | 只看该作者
数据帧由 7 个段构成,包括:
(1)帧起始。表示数据帧开始的段。
(2)仲裁段。表示该帧优先级的段。
(3)控制段。表示数据的字节数及保留位的段。
(4)数据段。数据的内容,一帧可发送0~8个字节的数据。
(5)CRC段。检查帧的传输错误的段。
(6)ACK段。表示确认正常接收的段。
(7)帧结束。表示数据帧结束的段。

使用特权

评论回复
14
heimaojingzhang| | 2022-11-7 11:08 | 只看该作者
CAN总线的标准帧和扩展帧主要决定帧ID的长度,

标准帧的帧ID长度是11位,帧ID的范围是000-7FF。

扩展帧的帧ID长度是29位,帧ID的范围是0000 0000-1FFF FFFF。CANopen帧ID最多是11位的,因此是标准帧;而SAE 1939协议通常是18XX XXXX的帧ID,是29位的,因此是扩展帧。

使用特权

评论回复
15
keaibukelian| | 2022-11-7 11:47 | 只看该作者
扩展帧的仲du裁域有29位,可以出现2^29中报zhi文,且在数据链路上是有间隙的(对操作者透明)。

使用特权

评论回复
16
labasi| | 2022-11-7 11:58 | 只看该作者
本帖最后由 labasi 于 2022-11-7 13:26 编辑

楼主问题解决了吗

使用特权

评论回复
17
paotangsan| | 2022-11-7 12:17 | 只看该作者
其实CAN标准帧和扩展帧只是在ID的长度上不一样,以能扩展更多的CAN节点,更好地支持上层协议而已

使用特权

评论回复
18
renzheshengui| | 2022-11-7 13:08 | 只看该作者
CAN总线的标准帧和扩展帧主要决定帧ID的长度,标准帧的帧ID长度是11位,帧ID的范围是000-7FF。扩展帧的帧ID长度是29位,帧ID的范围是0000 0000-1FFF FFFF。

使用特权

评论回复
19
wakayi| | 2022-11-7 13:26 | 只看该作者
标准帧的仲裁域是连续的11位,可以出现2^11种报文

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

598

帖子

0

粉丝