PIC18 CAN总线(1)
扫描二维码
随时随地手机看文章
3种模式:Mode0:lagacy (遗留模式)老模式 mode1:增强的老模式 mode2:FIFO模式
CANCON: CAN 控制寄存器
Mode 0
REQOP2 REQOP1 REQOP0 ABAT WIN2 WIN1 WIN0 —
Mode 1
REQOP2 REQOP1 REQOP0 ABAT — — — —
Mode 2
REQOP2 REQOP1 REQOP0 ABAT FP3 FP2 FP1 FP0
REQOP<2:0>:CAN 操作模式 ABAT:终止发送位 WIN<2:0>:模式0:窗口地址位
1xx = 配置模式 1 = 终止发送 FP<3:0>: 模式2:FIFO 读指针位
011 =只监听模式 0 = 发送正常
010 = 回环模式
001 = 睡眠模式
000 = 正常模式
CANSTAT: CAN 状态寄存器
Mode 0
OPMODE2(1) OPMODE1(1) OPMODE0(1) — ICODE3 ICODE2 ICODE1 —
Mode 1,2
OPMODE2(1) OPMODE1(1) OPMODE0(1) EICODE4 EICODE3 EICODE2 EICODE1 EICODE0
OPMODE<2:0>: 操作状态位 CODE<3:1>:中断码位
111 = 预留 当中断出现时,这些位指示对应的中断
110 = 预留
101 = 预留
100 = 配置模式
011 = 监听模式
010 = 回环模式
001 = 睡眠模式
000 = 正常模式
ECANCON: 扩展 CAN控制寄存器
MDSEL1(1) MDSEL0(1) FIFOWM(2) EWIN4 EWIN3 EWIN2 EWIN1 EWIN0
MDSEL<1:0>: 模式选择位 FIFOWM: FIFO高水位码位(2) EWIN<4:0>: 扩展 窗口地址位
00 = 传统模式 (Mode 0, 默认) 1 = 1个接受缓存满引起FIFO中断 这些位指示隐射一组16个单位CAN特殊寄存器到地0F60-0F6Dh
01 = 扩展传统模式(Mode 1) 0 = 4个接受缓存满引起FIFO中断
10 = 扩展 FIFO模式 (Mode 2)
11 = Reserved
COMSTAT: 通讯状态寄存器
Mode 0
RXB0OVFL RXB1OVFL TXBO TXBP RXBP TXWARN RXWARN EWARN
Mode 1
— RXBnOVFL TXB0 TXBP RXBP TXWARN RXWARN EWARN
Mode 2
FIFOEMPTY RXBnOVFL TXBO TXBP RXBP TXWARN RXWARN EWARN
Mode 0: Mode 0:
RXB0OVFL: Receive Buffer 0 满位 RXB1OVFL: Receive Buffer 1 满位 TXBO: 发送总线关闭位
1 = Receive Buffer 0 满 1 = Receive Buffer 1 满 TXBP: 发送总线被动 位
0 = Receive Buffer 0 空 0 = Receive Buffer 1 空 RXBP: 接受总线被动 位
Mode 1: Mode 1,2: TXWARN: 发送警告位
Unimplemented: Read as ‘0’ 1 = Receive Buffer n 满 RXWARN: 接受警告位
Mode 2: 0 = Receive Buffer n 空 EWARN: 错误警告位
FIFOEMPTY: FIFO 是否空位
1 = Receive FIFO 有数据
0 = Receive FIFO 空