CAN控制寄存器(CAN——CR)15
014
013
012
011
010
09
08
07Test:测试模式有效0:普通操作1:测试模式
6CCE:配置改变有效
0:不能对比特时序寄存器进行写操作1:允许对比特时序寄存器进行写操作5DAR:自动重传无效0:自动重传机制有效1:自动重传机制无效4
3EIE:错误中断有效
0:无效-不会产生状态变化中断
1:有效-状态寄存器中的BOff何EWarm字段发生变化将会产生一个中断2SIE:状态改变中断有效
0:无效-不会产生任何状态变化中断
1:有效-当检测到一个消息成功传输或一个CAN总线错误后,将会产生一个中断1IE:模块中断有效0:无效1:有效
0Init:初始化0:普通操作1:开始初始化寄存器
名称
寄存
器位注意:busoff恢复步骤是不能通过设置Init字段来
状态寄存器
(CAN——SR)
BOff:Busoff状态
0:CAN不再busoff状态
1:CAN在busoff状态
EWarn:警告状态
0:两个错误计数器都低于96的错误警告值
1:至少有一个错误计数器到达了96的错误警告值
EPass:严重错误
0:CAN内核一般错误
1:CAN发生CAN手册中定义的严重错误
RxOk:成功接收一个消息
0:自从上一次被CPU复位后,还没有消息被成功接收。这个字段是不能由CAN内核复位的。
1:成功接收到一个消息(与是否通过标识认证无关)
TxOk:成功发送一个消息
0:自从上一次被CPU复位后,还没有一个消息被成功发送。这个字段是不能由CAN内核复位的
1:成功发送一个消息(无错误,并被至少一个其他节点确认)LEC【2:0】:上一次错误代号
这个字段的值是一个代号,它表示了CAN总线上发生的上一次错误的类型。当一个消息传输结束后,这个字段被清零。“7“在这里没有使用,CPU会写入”7”来检查字段是否有更新。
000:没有错误
001:Stuff Error:在接收到的消息中,收到不允许的连续5个以上相等的数据位
010:Form Error:收到的数据帧格式有错误
011:AckError:发送出去的消息没有被其他节点确认反馈
100:Bit1Error:在消息传输期间,虽然设备原本应该发送一个“
状态中断比特时序寄存器(CAN——BTR)
RP:收到严重错误(Error Passive)
0:接收到的错误计数器值在严重错误标准之下
1:接收到的错误计数器值达到了严重错误标准0
REC【6:0】:接收错误计数器
当前接收错误计数器的值。值的大小在0到127之间。
TRC【7:0】;发送错误计数器
当前发送错误计数器的值。值的大小在0到255之间。TSeg2:从采样点之后的时序段
0x0-0x7:Tseg2的有效值是【0^7】。硬件对这个值的理解比此处显示的值要大“TSeg1:从采样点减去Sync_Seg之后的时序段
0x01-0x0F:TSeg1的有效值是【1^15】。硬件对这个值的理解比此处显示的值要大SJW:同步跳转宽度
0x0-0x3:SJW的有效值是【0^3】。硬件对这个值的理解比此处显示的值要大“1”
BRP:波特率预设置
0x01-0x3F:这个值为晶振频率分频来产生比特时序因子。这个比特时序