📄 reg.h
字号:
#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
/************************************************************************
BASICCAN 模式
* 以下的定义为SJA1000的内部寄存器的地址,不可修改 *
* 各寄存器的具体功能清参阅sja1000的数据手册 *
************************************************************************/
#define REG_CR 0x00 //内部控制寄存器
#define REG_CMR 0x01 //命令寄存器
#define REG_SR 0x02 //状态寄存器
#define REG_INTERRUPT 0x03 //中断寄存器
#define REG_ACR 0x04 //验收代码寄存器
#define REG_AMR 0x05 //验收屏蔽寄存器
#define REG_BTR0 0x06 //总线定时寄存器0
#define REG_BTR1 0x07 //总线定时寄存器1
#define REG_OCR 0x08 //输出控制寄存器
#define REG_TEST 0x09 //测试寄存器
/************************************************************************
*时钟分频寄存器(内部地址01FH) *
************************************************************************/
#define REG_CDR 0x1F //时钟分频寄存器
//以下为发送缓冲区寄存器定义
#define REG_TxBuffer1 0x0A //发送缓冲区1
#define REG_TxBuffer2 0x0B //发送缓冲区2
#define REG_TxBuffer3 0x0C //发送缓冲区3
#define REG_TxBuffer4 0x0D //发送缓冲区4
#define REG_TxBuffer5 0x0E //发送缓冲区5
#define REG_TxBuffer6 0x0F //发送缓冲区6
#define REG_TxBuffer7 0x10 //发送缓冲区7
#define REG_TxBuffer8 0x11 //发送缓冲区8
#define REG_TxBuffer9 0x12 //发送缓冲区9
#define REG_TxBuffer10 0x13 //发送缓冲区10
//以下为接收缓冲区寄存器定义
#define REG_RxBuffer1 0x14 //接收缓冲区1
#define REG_RxBuffer2 0x15 //接收缓冲区2
#define REG_RxBuffer3 0x16 //接收缓冲区3
#define REG_RxBuffer4 0x17 //接收缓冲区4
#define REG_RxBuffer5 0x18 //接收缓冲区5
#define REG_RxBuffer6 0x19 //接收缓冲区6
#define REG_RxBuffer7 0x1A //接收缓冲区7
#define REG_RxBuffer8 0x1B //接收缓冲区8
#define REG_RxBuffer9 0x1C //接收缓冲区9
#define REG_RxBuffer10 0x1D //接收缓冲区10
/************************************************************************
*定义命令字 *
************************************************************************/
#define TR_CMD 0x01 //发送请求命令
#define AT_CMD 0x02 //夭折发送命令
#define RRB_CMD 0x04 //释放接收缓冲区
#define COS_CMD 0x08 //清除超载状态
#define GTS_CMD 0x10 //进入睡眠状态命令
/************************************************************************
*定义12M的晶体下,CAN总线波特率 *
************************************************************************/
#define ByteRate_20k 0x00 //波特率20kbps
#define ByteRate_40k 0x01 //波特率40kbps
#define ByteRate_50k 0x02 //波特率50kbps
#define ByteRate_80k 0x03 //波特率80kbps
#define ByteRate_100k 0x04 //波特率100kbps
#define ByteRate_125k 0x05 //波特率125kbps
#define ByteRate_200k 0x06 //波特率200kbps
#define ByteRate_250k 0x07 //波特率250kbps
#define ByteRate_400k 0x08 //波特率400kbps
#define ByteRate_500k 0x09 //波特率500kbps
#define ByteRate_666k 0x0a //波特率666kbps
#define ByteRate_800k 0x0b //波特率800kbps
#define ByteRate_1000k 0x0c //波特率1000kbps
/*-------------------------------------------------------------------------------------------
* 以下为BASICCAN SJA1000的错误字 *
-------------------------------------------------------------------------------------------*/
#define CAN_INTERFACE_0K 0 /*SJA1000接口正常 */
#define CAN_BUS_0K 0 /*CAN总线工作正常 */
#define CAN_INTERFACE_ERR 0XFF /*SJA1000接口错误
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -