完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
can不是有节点id仲裁吗?
|
|
|
|
我想要的是一主多从模式,就是所有从机信息都要接收并区分处理,仲裁不是只放目的地ID吗?源ID放在哪呢?我用的是c8051f系列,参考的是C_CAN User's Manual资料,里面只有目的地ID,没得源地址的存放地方啊,难道人为把扩展ID分为两部分,一半放目的地ID,一半放源ID?
|
|
|
|
下面是我自己的理解,有错误还希望指正
1.首先can节点是不分主从的,都是广播发送的,大家都可以接收,只是每个节点可以过滤屏蔽,接收了自己想要的数据并做出响应就可以了。 2.非要理解成一主多从,假如从机响应主机命令,那你就自己定义个协议,主机发送数据里面定义好是发给哪个从机的,每个从机收到数据后判断是不是给自己的,再做出相应就可以了 3.还有can的id只是用来仲裁的,并不区分目的地id和源id,但是我觉得把can id理解成是自己的id更容易理解点 4.一个发多个收很多人会疑问can ack位怎么能保证所有节点都正常收到数据,因为只要有一个节点正确接收数据ack就会填入显性电平。can里面是靠错误帧来处理的,没有正常接收数据的节点会发送错误帧,所有节点都会收到错误帧,就都会舍弃这个数据,等待发送节点重新发送。这是can控制器自己处理的,编程不需要管。 |
|
|
|
一直没理解can的id,这下清楚了,非常感谢
|
|
|
|
接收的时候有个id号可以读取,那个就代表是谁发来的数据
|
|
|
|
只有小组成员才能发言,加入小组>>
3288 浏览 9 评论
2962 浏览 16 评论
3465 浏览 1 评论
9010 浏览 16 评论
4054 浏览 18 评论
1127浏览 3评论
579浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
573浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2306浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1864浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 05:13 , Processed in 1.121244 second(s), Total 55, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号