打印
[STM32F1]

STM32F1的CAN接收邮箱操作

[复制链接]
556|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
llljh|  楼主 | 2021-6-3 22:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
F103C8T6的MCU,现在学习CAN总线,有一个问题请教:
根据手册,103有两个接收邮箱寄存器,我拿到是原点的参考例程,对于接收
CAN_ITConfig(CAN1,CAN_IT_FMP0,ENABLE);                                //FIFO0消息挂号中断允许.        
是开启FIFO0的中断允许,那FIFO1呢,没有看到怎么用,这里有个问题,在CAN接收时,是不是我只开启FIFO0
那接收时,数据只会进入FIFO0的三级寄存器?

使用特权

评论回复
沙发
pengf| | 2021-6-3 22:17 | 只看该作者
个人感觉上面开启中断允许只是使能了中断触发,并没有说禁止了FIFO1的接收

使用特权

评论回复
板凳
llljh|  楼主 | 2021-6-3 22:19 | 只看该作者
手册中也没有说接收时,FIFO0,FIFO1的管理是怎么样的,只说明单个FIFO的三级寄存器管理。

使用特权

评论回复
地板
llljh|  楼主 | 2021-6-3 22:21 | 只看该作者
如果我接收只处理FIFO0,但接收时,数据进入FIFO1,并且它不会引发中断,我就不会去处理,这个是不是会引起丢包?

使用特权

评论回复
5
chenjunt| | 2021-6-3 22:24 | 只看该作者
不懂啊, 这个邮箱是网上有的那种吗

使用特权

评论回复
6
llljh|  楼主 | 2021-6-3 22:27 | 只看该作者
查了下stm32f10x.h文件中 STM32F10X_MD
  USB_LP_CAN1_RX0_IRQn        = 20,     /*!< USB Device Low Priority or CAN1 RX0 Interrupts       */
只定义了一个接收中断,是否是说STM32F103C8T6只有一个接收邮箱?

使用特权

评论回复
7
llljh|  楼主 | 2021-6-3 22:32 | 只看该作者
用CAN的大侠这么少啊,没反应,自已顶一下

使用特权

评论回复
8
xxrs| | 2021-6-3 22:34 | 只看该作者
我总是不太能理解 邮箱的概念

使用特权

评论回复
9
wuhany| | 2021-6-3 22:36 | 只看该作者
楼主问的号专业  很多名词我都不知道

使用特权

评论回复
10
zhanglli| | 2021-6-3 22:41 | 只看该作者
请问什么叫三级寄存器

使用特权

评论回复
11
huwr| | 2021-6-3 22:43 | 只看该作者
貌似接收邮箱只有一个吧

使用特权

评论回复
12
xxrs| | 2021-6-3 22:45 | 只看该作者
进入缓存的数据不及时处理的话会丢数的

使用特权

评论回复
13
dengdc| | 2021-6-3 22:48 | 只看该作者
这也是我一直想问的问题,求回复

使用特权

评论回复
14
llljh|  楼主 | 2021-6-3 22:51 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家

使用特权

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

本版积分规则

855

主题

11301

帖子

6

粉丝