找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 18032|回复: 38
打印 上一主题 下一主题
收起左侧

STM32 CAN发送和接收过滤原理 (过程详细说明,语言生动形象)

  [复制链接]
跳转到指定楼层
楼主
语言生动形象,让人一看就懂。
STM32 CAN发送和接收过滤原理
通过对 CANBUS 协议的理解 , 我们知道 : CAN 总线上的节点接收或发送数据都是以帧为单位的 ! ! ! CAN 协议规定了好几种帧类型,但是对于我们应用来说,只有数据帧和远程帧可以通过软件编程来控制 。 ( 其他几种帧都是由 CAN 控制器硬件实现的 , 我们想管也管不了 ) 。而数据帧和远程帧最大的区别在于 : 远程帧没有数据域 。 数据帧分为标准数据帧和扩展数据帧,它们之间最大的区别在于:标识符 (ID) 长度不同(标准帧为 11 位,扩展帧为 29 位 ) 。为了能更好地理解下面的内容,让我们先来回忆一下标准数据帧是什么样子的:


1 :假如我们只想收到别人发过来的 ID 为 0x317 的标准数据帧:
0X317 二进制位: 011 0001 0111
那么可以这样设置 :


种标准数据帧了。
以上是 32 位模式下标识符屏蔽模式和标识符列表模式下的设置方法。
在 16 位模式下,只不过把两个 32 位寄存器拆成了 4 个 16 位的而已,原理和 32 位模式下是一样的。就不赘述了。
接收数据是通过指向 Can Can Can Can R R R R xMsg xMsg xMsg xMsg 结构体变量的指针传递的。直接调用 CAN_Receive 即可轻松完成。
typedef struct
{
uint32_t StdId;
uint32_t ExtId;
uint8_t IDE;
uint8_t RTR;
uint8_t DLC;
uint8_t Data[8];
uint8_t FMI;
} CanRxMsg;
CanRxMsg 结构与 CanTxMsg 差不多。只是多了一个 FMI 域。

FMI

FMI 设定为消息将要通过的过滤器索引 , 这些消息存储于邮箱中 。 该参数取值范围 0 到0xFF 。

完整的pdf格式文档51黑下载地址:
STM32CAN详解.pdf (252.93 KB, 下载次数: 572)


评分

参与人数 5黑币 +121 收起 理由
AAA_MCU + 6 很给力!
夜空之巅 + 30 绝世好帖!
世纪21电源 + 30
xuhe + 5 很不错,正需要
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏27 分享淘帖 顶6 踩
回复

使用道具 举报

沙发
ID:295976 发表于 2018-4-25 12:52 | 只看该作者
学习下目前正在学习can协议
回复

使用道具 举报

板凳
ID:296724 发表于 2018-6-14 00:53 | 只看该作者
正在学习,非常实用
回复

使用道具 举报

地板
ID:500600 发表于 2019-3-29 14:58 | 只看该作者
值得学习,推荐
回复

使用道具 举报

5#
ID:524128 发表于 2019-4-29 00:44 | 只看该作者
的确写得很生动形象,不错
回复

使用道具 举报

6#
ID:524128 发表于 2019-5-1 10:13 | 只看该作者
写得很好,值得学习
回复

使用道具 举报

7#
ID:492919 发表于 2019-5-1 20:11 | 只看该作者
写得真好.
好好学习一下
感谢楼主的分享

      
回复

使用道具 举报

8#
ID:136769 发表于 2019-6-13 15:48 | 只看该作者
好东西,值得学习!
回复

使用道具 举报

9#
ID:561518 发表于 2019-6-14 16:04 | 只看该作者
汽车电子必备的通讯协议
回复

使用道具 举报

10#
ID:396444 发表于 2019-6-14 18:33 | 只看该作者
谢谢分享!
回复

使用道具 举报

11#
ID:599583 发表于 2019-8-13 08:36 | 只看该作者
学习了,谢谢指教
回复

使用道具 举报

12#
ID:377677 发表于 2019-9-6 09:47 | 只看该作者
学习了
回复

使用道具 举报

13#
ID:605886 发表于 2019-9-7 08:55 | 只看该作者
不错的资料,谢谢分享
回复

使用道具 举报

14#
ID:155842 发表于 2019-9-10 21:32 | 只看该作者
非常不错,卡在过滤器几天了  看了这篇感觉思路都通了。
回复

使用道具 举报

15#
ID:124631 发表于 2019-10-8 10:59 | 只看该作者
以前用的是恒润的协议,现在看看能不能自己搞
回复

使用道具 举报

16#
ID:83127 发表于 2019-10-14 13:43 | 只看该作者

学习下目前正在学习can协议
回复

使用道具 举报

17#
ID:552218 发表于 2019-12-14 23:19 | 只看该作者

谢谢分享!
回复

使用道具 举报

18#
ID:663600 发表于 2019-12-15 19:28 | 只看该作者
收藏 正在用的是485 想转为CAN通讯
感谢楼主
回复

使用道具 举报

19#
ID:241150 发表于 2020-2-18 09:25 | 只看该作者
谢谢分享,学习了
回复

使用道具 举报

20#
ID:710761 发表于 2020-3-18 12:06 | 只看该作者
CAN如何接收?如何过滤?无数初学者都倒在这里!算我一位,幸好,到此得到“超度”,没有比这更易理解的了,感谢作者的用心付出!受教了。
回复

使用道具 举报

21#
ID:714887 发表于 2020-3-24 16:27 | 只看该作者
讲得非常好
回复

使用道具 举报

22#
ID:719626 发表于 2020-3-31 16:42 | 只看该作者
这是我看到的最最好的例子
回复

使用道具 举报

23#
ID:86450 发表于 2020-4-10 08:43 | 只看该作者
的确写得很生动形象,不错
回复

使用道具 举报

24#
ID:728828 发表于 2020-4-14 11:31 | 只看该作者
很形象,已收藏
回复

使用道具 举报

25#
ID:296803 发表于 2020-4-21 16:08 | 只看该作者
资料不错,这几天CAN通信运行过程中莫名其妙停止,一段时间后恢复,不知道啥原因
回复

使用道具 举报

26#
ID:752219 发表于 2020-6-30 11:50 | 只看该作者
请教个问题,这句话什么意思:”接收数据是通过指向 Can Can Can Can R R R R xMsg xMsg xMsg xMsg 结构体变量的指针传递的”。这里的can can can can  r r r r  xmsg xmsg xmsg xmsg是啥意思
回复

使用道具 举报

27#
ID:752219 发表于 2020-6-30 11:51 | 只看该作者
请教个问题:”接收数据是通过指向 Can Can Can Can R R R R xMsg xMsg xMsg xMsg 结构体变量的指针传递的”,这句话里面的can can can... xmsg xmsg xmsg xmsg 啥意思
回复

使用道具 举报

28#
ID:320751 发表于 2020-9-6 19:31 | 只看该作者
谢谢分享 感恩付出 谢谢
回复

使用道具 举报

29#
ID:588322 发表于 2020-11-15 16:01 | 只看该作者
学习下,正在学习OBD相关的东西
回复

使用道具 举报

30#
ID:509104 发表于 2021-1-4 18:33 | 只看该作者
学习下目前正在学习汽车can通信
回复

使用道具 举报

31#
ID:94359 发表于 2021-1-27 10:01 | 只看该作者
好文章值的学习
回复

使用道具 举报

32#
ID:256945 发表于 2021-4-26 09:25 | 只看该作者
写的非常好,要是再加一点代码和解释就更好了
回复

使用道具 举报

33#
ID:842041 发表于 2021-8-26 13:46 | 只看该作者
好帖子顶了
回复

使用道具 举报

34#
ID:584195 发表于 2021-8-27 09:16 | 只看该作者
这个写得太好了!下载下来认真学习。
回复

使用道具 举报

35#
ID:962994 发表于 2021-8-30 13:46 | 只看该作者
非常清楚,描述也很生动
回复

使用道具 举报

36#
ID:595103 发表于 2021-9-22 13:44 | 只看该作者
讲的很细致!!!感谢大大分享!
回复

使用道具 举报

37#
ID:337280 发表于 2024-1-19 16:35 | 只看该作者
正在学习CAN,感谢作者
回复

使用道具 举报

38#
ID:18591 发表于 2024-2-2 09:51 | 只看该作者
非常好,谢谢楼主
回复

使用道具 举报

39#
ID:25103 发表于 2024-2-25 18:05 | 只看该作者

写得真好.
好好学习一下
感谢楼主的分享
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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