[MM32生态] Basic CAN 模式

[复制链接]
 楼主| 小小蚂蚁举千斤 发表于 2024-9-25 19:52 | 显示全部楼层 |阅读模式
1、复位模式
复位模式即初始化模式。在硬件启动或总线状态设置为‘1’(总线关闭) 时,复位请求位
(CAN_CR.0) 被置为‘1’(当前)。如果这些位被软件访问,其值将发生变化,而且会影响
内部时钟的下个上升沿。复位请求位的变化时内部分频时钟同步的读复位请求位能够反映
出这种同步状态。复位模式主要用于CAN 通讯参数配置,在不同工作模式下内核对CAN
寄存器的访问权限不同。
复位请求位被设为‘0’后CAN 控制器将会等待:
a) 一个总线空闲信号(11 个弱势位),如果前一次复位请求是硬件复位或CPU 初始复位。
b) 128 个总线空闲,如果前一次复位请求是CAN 控制器在重新进入总线开启模式前初始
化总线造成的;必须说明的是,如果复位请求位被置位,一些寄存器的值会被改变的。

2、工作模式
在复位模式完成后,软件应该让硬件进入正常模式,以便正常接收和发送报文。复位模式
下,当向复位位传送了‘1 0’的下降沿时,CAN 控制器便返回工作模式,进行报文的发送和接收。

3、睡眠模式
睡眠模式位设为1(sleep),CAN 控制器将进入睡眠模式;没有总线活动和中断等待。至少
破坏这两种情况之一时将会导致睡眠模式产生唤醒中断。睡眠模式位设为低(唤醒) 之后总
线进入活动状态或中断被激活。唤醒后,时钟启动且产生一个唤醒中断。由于总线活动唤
醒的直到检测到11 个连续的隐藏(弱势) 位(总线空闲序列) 后才能接收这条信息。注意在
复位模式中是不能设置睡眠模式位的。清除复位模式后,再一次检测到总线空闲时,睡眠
模式位的设置才开始有效。
1.jpg
2.jpg

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

本版积分规则

225

主题

2536

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

225

主题

2536

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部