STM32 CAN外设(基于STMF103C8T6)

STM32内置bxCAN外设(CAN控制器),支持CAN2.0A和2.0B,可以自动发送CAN报文和按照过滤器自动接收指定CAN报文,程序只需处理报文数据而无需关注总线的电平细节

波特率最高可达1兆位/秒3个可配置优先级的发送邮箱2个3级深度的接收FIFO

14个过滤器组(互联型28个)时间触发通信、自动离线恢复、自动唤醒、禁止自动重传、接收FIFO溢出处理方式可配置、发送优先级可配置、双CAN模式。

CAN通信的两个引脚是复用在了PA11和PA12上,只能使用这两个作为CAN通信引脚。(该芯片的USB和CAN无法同时使用的)

下图为CAN收发器电路原理图以及实物图

CAN报文流程

CANTX是输出。引脚控制权在CAN外设,配置为复用推挽输出模式,输入引脚可以配置为上拉输入,当控制器接收到报文后会自动和配置的过滤器进行比对,符合条件的报文会自动保存在FIFO队列中,CPU直接读取FIFO即可。

发送基本流程

其中RQCP(Request completed)请求完成,TXOK(Transmission OK)发送成功,TME(Transmit mailbox empty是发送邮箱空,TME=1说明当前邮箱是空闲状态的。

接受基本流程

相关推荐
LabVIEW开发3 小时前
LabVIEW+Arduino实现温度自适应直流电机控制
单片机·labview知识·labview功能·labview程序
权泽谦5 小时前
C语言控制台游戏教程:从零实现贪吃蛇(附源码+讲解)
c语言·stm32·游戏
FrozenLove_G6 小时前
服务器的BMC内部有系统吗?
stm32·单片机·嵌入式硬件
SongYuLong的博客6 小时前
openwrt源码编译环境搭建-安装Luci
linux·嵌入式硬件
宇宙realman_9996 小时前
DSP中断工作原理
单片机·嵌入式硬件
hazy1k7 小时前
ESP32基础-UART_串口通信
stm32·单片机·嵌入式硬件·51单片机·esp32
d111111111d8 小时前
STM32通信协议学习--I2C通信(了解)
笔记·stm32·单片机·嵌入式硬件·学习
雾岛听风眠8 小时前
STM32通信接口----USART
stm32·单片机·嵌入式硬件
Rousson10 小时前
硬件学习笔记--89 MCU主频对Uart波特率影响及采样点
笔记·单片机·学习
呉師傅10 小时前
国产化操作系统---银河麒麟安装步骤(简单介绍)
运维·网络·windows·单片机·电脑