?? sja1000reg.h
字號:
/*
********************************************************************************************************************
* Rx 緩沖器的地址定義 PeliCAN 模式
********************************************************************************************************************
*/
#define REG_CAN_RXFMINFO 16 //RX 幀信息(標準幀、 擴展幀)寄存器
#define REG_CAN_RXBUF1 17 //RX 識別碼(標準幀、 擴展幀)寄存器1
#define REG_CAN_RXBUF2 18 //RX 幀信息(標準幀、 擴展幀)識別碼2寄存器
#define REG_CAN_RXBUF3 19 //RX 幀信息(標準幀數據1、擴展幀識別碼3)寄存器
#define REG_CAN_RXBUF4 20 //RX 幀信息(標準幀數據2、擴展幀識別碼4)寄存器
#define REG_CAN_RXBUF5 21 //RX 幀信息(標準幀數據3、擴展幀數據1)寄存器
#define REG_CAN_RXBUF6 22 //RX 幀信息(標準幀數據4、擴展幀數據2)寄存器
#define REG_CAN_RXBUF7 23 //RX 幀信息(標準幀數據5、擴展幀數據3)寄存器
#define REG_CAN_RXBUF8 24 //RX 幀信息(標準幀數據6、擴展幀數據4)寄存器
#define REG_CAN_RXBUF9 25 //RX 幀信息(標準幀數據7、擴展幀數據5)寄存器
#define REG_CAN_RXBUF10 26 //RX 幀信息(標準幀數據8、擴展幀數據6)寄存器
#define REG_CAN_RXBUF11 27 //RX 幀信息 (擴展幀數據7)寄存器
#define REG_CAN_RXBUF12 28 //RX 幀信息 (擴展幀數據8)寄存器
#define REG_CAN_RMC 29 //RX 信息計數器 寄存器
#define REG_CAN_RBSA 30 //RX 緩沖區起始地址 寄存器
/*
********************************************************************************************************************
* 時鐘分頻器地址和位定義 PeliCAN 模式
********************************************************************************************************************
*/
#define REG_CAN_CDR 31 //時鐘分頻 寄存器
#define CLKOff_BIT 0x08 //時鐘關閉位,時鐘輸出管腳控制位
#define RXINTEN_BIT 0x20 //用于接收中斷的管腳TX1
#define CBP_BIT 0x40 //CAN 比較器旁路控制位
#define CANMode_BIT 0x80 //CAN 模式控制位
/*
********************************************************************************************************************
* PeliCAN 模式寄存器定義結束
********************************************************************************************************************
*/
#endif
#ifdef _SJA_BASICCAN_MODE_
/*
********************************************************************************************************************
* BasicCAN 模式寄存器定義
********************************************************************************************************************
*/
/*$page*/
/*
********************************************************************************************************************
* 內部控制寄存器及位定義
********************************************************************************************************************
*/
#define REG_CAN_CTR 0x00
#define RM_RR_BIT 0x01 //復位模式(請求)位
#define RIE_BIT 0x02 //接收中斷使能位
#define TIE_BIT 0x04 //接收中斷使能位
#define EIE_BIT 0x08 //錯誤中斷使能位
#define OIE_BIT 0x10 //超載中斷使能位
/*
********************************************************************************************************************
* 內部命令寄存器及位定義
********************************************************************************************************************
*/
#define REG_CAN_CMR 0x01 //命令寄存器
#define TR_BIT 0x01 //發送請求位
#define AT_BIT 0x02 //中止發送位
#define RRB_BIT 0x04 //釋放接收緩沖器位
#define CDO_BIT 0x08 //清除數據溢出位
#define WU_BIT 0x10 //睡眠位
/*
********************************************************************************************************************
* 狀態寄存器的地址和位定義
********************************************************************************************************************
*/
#define REG_CAN_SR 0x02 //狀態寄存器
#define RBS_BIT 0x01 //接收緩沖器狀態位
#define DOS_BIT 0x02 //數據溢出狀態位
#define TBS_BIT 0x04 //發送緩沖器狀態位
#define TCS_BIT 0x08 //發送完成狀態位
#define RS_BIT 0x10 //接收狀態位
#define TS_BIT 0x20 //發送狀態位
#define ES_BIT 0x40 //錯誤狀態位
#define BS_BIT 0x80 //總線狀態位
/*
********************************************************************************************************************
* 中斷寄存器的地址和位定義
********************************************************************************************************************
*/
#define REG_CAN_IR 0x03 //中斷寄存器
#define RI_BIT 0x01 //接收中斷位
#define TI_BIT 0x02 //發送中斷位
#define EI_BIT 0x04 //錯誤警告中斷位
#define DOI_BIT 0x08 //數據溢出中斷位
#define WUI_BIT 0x10 //喚醒中斷位
/*
********************************************************************************************************************
* 驗收濾波器寄存器的地址定義 注:只在復位模式下有效
********************************************************************************************************************
*/
#define REG_CAN_ACR 0x04 //驗收代碼寄存器
#define REG_CAN_AMR 0x05 //驗收屏蔽寄存器
/*
********************************************************************************************************************
* 總線定時器寄存器的地址和位定義
********************************************************************************************************************
*/
#define REG_CAN_BTR0 0x06 //總線定時器0寄存器
#define REG_CAN_BTR1 0x07 //總線定時器1寄存器
#define SAM_BIT 0x80 //采樣模式位;0==總線被采樣1次;1== 總線被采樣3次
/*
********************************************************************************************************************
* 輸出控制寄存器的地址和位定義
********************************************************************************************************************
*/
#define REG_CAN_OCR 0x08 //輸出控制寄存器
/*OCMODE1 ,OCMODE0 */
#define BiPhaseMode 0x00 //雙相輸出模式
#define NormalMode 0x02 //正常輸出模式
#define ClkOutMode 0x03 //時鐘輸出模式
/*TX1 的輸出管腳配置*/
#define OCPOL1_BIT 0x20 //輸出極性控制位
#define Tx1Float 0x00 //配置為懸空
#define Tx1PullDn 0x40 //配置為下拉
#define Tx1PullUp 0x80 //配置為上拉
#define Tx1PshPull 0Xc0 //配置為推挽
/*TX0 的輸出管腳配置*/
#define OCPOL0_BIT 0x04 //輸出極性控制位
#define Tx0Float 0x00 //配置為懸空
#define Tx0PullDn 0x08 //配置為下拉
#define Tx0PullUp 0x10 //配置為上拉
#define Tx0PshPull 0X18 //配置為推挽
/*
********************************************************************************************************************
* 測試寄存器的地址定義 PeliCAN模式
********************************************************************************************************************
*/
#define REG_CAN_TEST 0x09 //測試寄存器
/*
********************************************************************************************************************
* 以下為發送緩沖區寄存器定義
********************************************************************************************************************
*/
#define REG_CAN_TXBUF0 0x0A //發送緩沖區1
#define REG_CAN_TXBUF1 0x0B //發送緩沖區2
#define REG_CAN_TXBUF2 0x0C //發送緩沖區3
#define REG_CAN_TXBUF3 0x0D //發送緩沖區4
#define REG_CAN_TXBUF4 0x0E //發送緩沖區5
#define REG_CAN_TXBUF5 0x0F //發送緩沖區6
#define REG_CAN_TXBUF6 0x10 //發送緩沖區7
#define REG_CAN_TXBUF7 0x11 //發送緩沖區8
#define REG_CAN_TXBUF8 0x12 //發送緩沖區9
#define REG_CAN_TXBUF9 0x13 //發送緩沖區10
/*
********************************************************************************************************************
* 以下為接收緩沖區寄存器定義
********************************************************************************************************************
*/
#define REG_CAN_RXBUF0 0x14 //接收緩沖區1
#define REG_CAN_RXBUF1 0x15 //接收緩沖區2
#define REG_CAN_RXBUF2 0x16 //接收緩沖區3
#define REG_CAN_RXBUF3 0x17 //接收緩沖區4
#define REG_CAN_RXBUF4 0x18 //接收緩沖區5
#define REG_CAN_RXBUF5 0x19 //接收緩沖區6
#define REG_CAN_RXBUF6 0x1A //接收緩沖區7
#define REG_CAN_RXBUF7 0x1B //接收緩沖區8
#define REG_CAN_RXBUF8 0x1C //接收緩沖區9
#define REG_CAN_RXBUF9 0x1D //接收緩沖區10
/*
********************************************************************************************************************
* 時鐘分頻器地址和位定義 PeliCAN 模式
********************************************************************************************************************
*/
#define REG_CAN_CDR 31 //時鐘分頻 寄存器
#define CLKOff_BIT 0x08 //時鐘關閉位,時鐘輸出管腳控制位
#define RXINTEN_BIT 0x20 //用于接收中斷的管腳TX1
#define CBP_BIT 0x40 //CAN 比較器旁路控制位
#define CANMode_BIT 0x80 //CAN 模式控制位
/*
********************************************************************************************************************
* BasicCAN 模式寄存器定義結束
********************************************************************************************************************
*/
#endif
/*
********************************************************************************************************************
* SJA1000寄存器定義結束
********************************************************************************************************************
*/
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -