STM32连续采样_STM32实例CAN通信STM32F1 CAN 介绍

    STM32F1 芯片自带 bxCAN 控制器 (Basic Extended CAN),即基本扩展 CAN,可与 CAN 网络进行交互,它支持 2.0A 和 B 版本的 CAN 协议。旨在以最少的CPU 负载高效管理大量的传入消息,并可按需要的优先级实现消息发送。在攸关安全性的应用中,CAN 控制器提供所有必要的硬件功能来支持 CAN 时间触发通信方案。

    STM32F1 的 bxCAN 的主要特性有:

·支持 CAN 协议 2.0A 和 2.0B 主动模式

·波特率最高达 1Mbps

·支持时间触发通信

·具有 3 个发送邮箱

·具有 3 级深度的 2 个接收 FIFO

·可变的过滤器组( 互联网产品中有 28 个, CAN1 和 CAN2 共享,其他STM32F103xx 有 14 个)

    我们使用的 STM32F103ZET6自带 1 个 CAN 控制器,而 STM32F105/STM32F107互联网型含有 2 个 CAN 控制器,互联网型只是比 STM32F103 多一个而已。下面我们就来看下互联网型它内部结构,如下图所示:

84abeac19d5866efd89c511b26ac3673.png

    从CAN 内部结构图可以看出,CAN1 是主设备,CAN2 是从设备。框图中的“存储访问控制器”是由 CAN1 控制的,CAN2 无法直接访问存储区域,所以如果使用 CAN2 的时候必须先使能CAN1 外设的时钟,我们使用的 STM32F103ZET6只含有 CAN1。框图中主要包含 CAN 控制内核、发送邮箱、接收 FIFO 以及验收筛选器,下面我们就依次进行简单介绍。

(1)标号 1:CAN 控制内核

    CAN 控制内核包含了各种控制/状态寄存器,我们主要讲解其中的主控制寄存器 CAN_MCR 及位时序寄存器 CAN_BTR。

①控制寄存器 CAN_MCR主控制寄存器 CAN_MCR 负责管理 CAN 的工作模式,寄存器如下:

aac8abd53d062c62c1cd3d6917f66b17.png

②位时序寄存器(CAN_BTR)

    CAN 外设中的位时序寄存器 CAN_BTR 用于配置测试模式、波特率以及各种位内的段参数。该寄存器如下:

583e4b3427974397a1c447a15ab55e12.png

1.测试模

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值