×
单片机 > 单片机程序设计 > 详情

PIC18 CAN总线(1)

发布时间:2020-05-16 发布时间:
|
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 空


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址