📄 can591_peliconf.asm
字号:
REG_CAN_ACFPRIO EQU 31
ACF1_FT1_PRIO EQU 01
ACF1_FT2_PRIO EQU 02
ACF2_FT1_PRIO EQU 04
ACF2_FT2_PRIO EQU 08
ACF3_FT1_PRIO EQU 10H
ACF3_FT2_PRIO EQU 20H
ACF4_FT1_PRIO EQU 40H
ACF4_FT2_PRIO EQU 80H
;;/*
;********************************************************************************************************************
;* 验收滤波器寄存器的地址定义 PeliCAN模式 注:只在复位模式下有效
;********************************************************************************************************************
;;*/
REG_CAN_ACF1_ACR0 EQU 32 ;;//验收代码0寄存器
REG_CAN_ACF1_ACR1 EQU 33 ;;//验收代码1寄存器
REG_CAN_ACF1_ACR2 EQU 34 ;;//验收代码2寄存器
REG_CAN_ACF1_ACR3 EQU 35 ;;//验收代码3寄存器
REG_CAN_ACF1_AMR0 EQU 36 ;;//验收屏蔽0寄存器
REG_CAN_ACF1_AMR1 EQU 37 ;;//验收屏蔽1寄存器
REG_CAN_ACF1_AMR2 EQU 38 ;;//验收屏蔽2寄存器
REG_CAN_ACF1_AMR3 EQU 39 ;;//验收屏蔽3寄存器
REG_CAN_ACF2_ACR0 EQU 40 ;;//验收代码0寄存器
REG_CAN_ACF2_ACR1 EQU 41 ;;//验收代码1寄存器
REG_CAN_ACF2_ACR2 EQU 42 ;;//验收代码2寄存器
REG_CAN_ACF2_ACR3 EQU 43 ;;//验收代码3寄存器
REG_CAN_ACF2_AMR0 EQU 44 ;;//验收屏蔽0寄存器
REG_CAN_ACF2_AMR1 EQU 45 ;;//验收屏蔽1寄存器
REG_CAN_ACF2_AMR2 EQU 46 ;;//验收屏蔽2寄存器
REG_CAN_ACF2_AMR3 EQU 47 ;;//验收屏蔽3寄存器
REG_CAN_ACF3_ACR0 EQU 48 ;;//验收代码0寄存器
REG_CAN_ACF3_ACR1 EQU 49 ;;//验收代码1寄存器
REG_CAN_ACF3_ACR2 EQU 50 ;;//验收代码2寄存器
REG_CAN_ACF3_ACR3 EQU 51 ;;//验收代码3寄存器
REG_CAN_ACF3_AMR0 EQU 52 ;;//验收屏蔽0寄存器
REG_CAN_ACF3_AMR1 EQU 53 ;;//验收屏蔽1寄存器
REG_CAN_ACF3_AMR2 EQU 54 ;;//验收屏蔽2寄存器
REG_CAN_ACF3_AMR3 EQU 55 ;;//验收屏蔽3寄存器
REG_CAN_ACF4_ACR0 EQU 56 ;;//验收代码0寄存器
REG_CAN_ACF4_ACR1 EQU 57 ;;//验收代码1寄存器
REG_CAN_ACF4_ACR2 EQU 58 ;;//验收代码2寄存器
REG_CAN_ACF4_ACR3 EQU 59 ;;//验收代码3寄存器
REG_CAN_ACF4_AMR0 EQU 60 ;;//验收屏蔽0寄存器
REG_CAN_ACF4_AMR1 EQU 61 ;;//验收屏蔽1寄存器
REG_CAN_ACF4_AMR2 EQU 62 ;;//验收屏蔽2寄存器
REG_CAN_ACF4_AMR3 EQU 63 ;;//验收屏蔽3寄存器
CAN_ACR_ACF1 EQU 32
CAN_ACR_ACF2 EQU 40
CAN_ACR_ACF3 EQU 48
CAN_ACR_ACF4 EQU 56
CAN_AMR_ACF1 EQU 36
CAN_AMR_ACF2 EQU 44
CAN_AMR_ACF3 EQU 52
CAN_AMR_ACF4 EQU 60
;;/*
;********************************************************************************************************************
;* Tx 缓冲器的地址定义 PeliCAN 模式
;********************************************************************************************************************
;;*/
;;/*仅写地址;*/
REG_CAN_TXFMINFO EQU 112 ;;//TX 帧信息 标准帧、扩展帧)寄存器
REG_CAN_TXBUF1 EQU 113 ;;//TX 帧信息 标准帧、扩展帧)识别码1寄存器
REG_CAN_TXBUF2 EQU 114 ;;//TX 帧信息 标准帧、扩展帧)识别码2寄存器
REG_CAN_TXBUF3 EQU 115 ;;//TX 帧信息 标准帧数据1、扩展帧识别码3)寄存器
REG_CAN_TXBUF4 EQU 116 ;;//TX 帧信息 标准帧数据2、扩展帧识别码4)寄存器
REG_CAN_TXBUF5 EQU 117 ;;//TX 帧信息 标准帧数据3、扩展帧数据1)寄存器
REG_CAN_TXBUF6 EQU 118 ;;//TX 帧信息 标准帧数据4、扩展帧数据2)寄存器
REG_CAN_TXBUF7 EQU 119 ;;//TX 帧信息 标准帧数据5、扩展帧数据3)寄存器
REG_CAN_TXBUF8 EQU 120 ;;//TX 帧信息 标准帧数据6、扩展帧数据4)寄存器
REG_CAN_TXBUF9 EQU 121 ;;//TX 帧信息 标准帧数据7、扩展帧数据5)寄存器
REG_CAN_TXBUF10 EQU 122 ;;//TX 帧信息 标准帧数据8、扩展帧数据6)寄存器
REG_CAN_TXBUF11 EQU 123 ;;//TX 帧信息 扩展帧数据7)寄存器
REG_CAN_TXBUF12 EQU 123 ;;//TX 帧信息 扩展帧数据8)寄存器
;;/*仅读地址;*/
REG_CAN_TXFMRD EQU 112 ;;//读取TX 帧信息 标准帧、扩展帧)寄存器
REG_CAN_TXRD1 EQU 113 ;;//读取TX 帧信息 标准帧、扩展帧)识别码1寄存器
REG_CAN_TXRD2 EQU 114 ;;//读取TX 帧信息 标准帧、扩展帧)识别码2寄存器
REG_CAN_TXRD3 EQU 115 ;;//读取TX 帧信息 标准帧数据1、扩展帧识别码3)寄存器
REG_CAN_TXRD4 EQU 116 ;;//读取TX 帧信息 标准帧数据2、扩展帧识别码4)寄存器
REG_CAN_TXRD5 EQU 117 ;;//读取TX 帧信息 标准帧数据3、扩展帧数据1)寄存器
REG_CAN_TXRD6 EQU 118 ;;//读取TX 帧信息 标准帧数据4、扩展帧数据2)寄存器
REG_CAN_TXRD7 EQU 119 ;;//读取TX 帧信息 标准帧数据5、扩展帧数据3)寄存器
REG_CAN_TXRD8 EQU 120 ;;//读取TX 帧信息 标准帧数据6、扩展帧数据4)寄存器
REG_CAN_TXRD9 EQU 121 ;;//读取TX 帧信息 标准帧数据7、扩展帧数据5)寄存器
REG_CAN_TXRD10 EQU 122 ;;//读取TX 帧信息 标准帧数据8、扩展帧数据6)寄存器
REG_CAN_TXRD11 EQU 123 ;;//读取TX 帧信息 扩展帧数据7)寄存器
REG_CAN_TXRD12 EQU 124 ;;//读取TX 帧信息 扩展帧数据8)寄存器
;;/*
;********************************************************************************************************************
;* Rx 缓冲器的地址定义 PeliCAN 模式
;********************************************************************************************************************
;;*/
REG_CAN_RXFMINFO EQU 96 ;;//RX 帧信息 标准帧、 扩展帧)寄存器
REG_CAN_RXBUF1 EQU 97 ;;//RX 识别码 标准帧、 扩展帧)寄存器1
REG_CAN_RXBUF2 EQU 98 ;;//RX 帧信息 标准帧、 扩展帧)识别码2寄存器
REG_CAN_RXBUF3 EQU 99 ;;//RX 帧信息 标准帧数据1、扩展帧识别码3)寄存器
REG_CAN_RXBUF4 EQU 100 ;;//RX 帧信息 标准帧数据2、扩展帧识别码4)寄存器
REG_CAN_RXBUF5 EQU 101 ;;//RX 帧信息 标准帧数据3、扩展帧数据1)寄存器
REG_CAN_RXBUF6 EQU 102 ;;//RX 帧信息 标准帧数据4、扩展帧数据2)寄存器
REG_CAN_RXBUF7 EQU 103 ;;//RX 帧信息 标准帧数据5、扩展帧数据3)寄存器
REG_CAN_RXBUF8 EQU 104 ;;//RX 帧信息 标准帧数据6、扩展帧数据4)寄存器
REG_CAN_RXBUF9 EQU 105 ;;//RX 帧信息 标准帧数据7、扩展帧数据5)寄存器
REG_CAN_RXBUF10 EQU 106 ;;//RX 帧信息 标准帧数据8、扩展帧数据6)寄存器
REG_CAN_RXBUF11 EQU 107 ;;//RX 帧信息 扩展帧数据7)寄存器
REG_CAN_RXBUF12 EQU 108 ;;//RX 帧信息 扩展帧数据8)寄存器
;;/*
;********************************************************************************************************************
;* 定义标准帧或扩展帧的报文识别码的长度
;********************************************************************************************************************
;;*/
STD_FRAMEID_LENTH EQU 02
EXT_FRAMEID_LENTH EQU 04
;/*
;********************************************************************************************************************
;* CAN591 的PeliCAN 工作方式命令字定义
;* 每一个命令字都通过将该命令字写入命令寄存器,两条命令之间必须至少间隔一个内部时钟
;* 周期(内部时钟频率为外部振荡器频率的1/2)
;********************************************************************************************************************
;*/
NORMAL_SEND EQU 01H ;//正常发送命令,允许自动重发
STOP_SEND EQU 02H ;//中止发送位
SINGLE_SEND EQU 03H ;//单次发送,不自动重发
RELEASE_RX_BUF EQU 04H ;//释放接收缓冲器
CLR_DATA_OVER EQU 08H ;//清除数据溢出
SELF_RCV_REQUEST EQU 10H ;//自身接收请求
SELF_SINGLE_RCVSEND EQU 12H ;//单次自接收性质的信息发送
;/*
;********************************************************************************************************************
;* CAN591 的PeliCAN 工作方式 错误代码定义
;* 每一个PeliCAN 工作方式下的函数都将产生一个返回值,该值应该符合下面的代码定义
;********************************************************************************************************************
;*/
SJA_OK EQU 00
SJA_INTERFACE_ERR EQU -1 ;//与微处理器接口错
SJA_ENTRYRESET_ERR EQU -2 ;//进复位状态错
SJA_QUITRESET_ERR EQU -3 ;//退出复位状态错
SJA_INIT_ERR EQU -4 ;//初始化错
SJA_CODE_ERR EQU -5 ;//代码错
SJA_FRAME_ERR EQU -6 ;//帧格式错
SJA_WTXBUF_ERR EQU -7 ;//写发送缓冲区错
SJA_CANBUS_ERR EQU -8 ;//总线错误 (关闭)
SJA_TXBUFLOCK EQU -9 ;//发送缓冲区锁定
SJA_RXBUFEMPTY EQU -10 ;//接收缓冲区为空
SJA_RRXVUF_ERR EQU -11 ;//接收数据错
SJA_SETACR_ERR EQU -12 ;//设置代码验收寄存器错
SJA_NOTRSTMODE EQU -13 ;//sja1000不在复位模式,却调用了初始化函数
SJA_SETBTR_ERR EQU -14 ;//设置总线定时器错
SJA_NOBTRSIZE EQU -15 ;//波特率不能设为此值
SJA_SETAMR_ERR EQU -16 ;//设置验收屏蔽寄存器错
SJA_SETOCR_ERR EQU -17 ;//设置输出控制寄存器错
SJA_SETCDR_ERR EQU -18 ;//设置时钟分频寄存器错
SJA_IMPCMD_ERR EQU -19 ;//命令执行出错
SJA_NOTHISCMD EQU -20 ;//没有此命令
SJA_SETACFMODE_ERR EQU -21 ;//设置代码验收滤波器模式寄存器错
SJA_SETACFPRIO_ERR EQU -22 ;//设置代码验收滤波器优先级寄存器错
SJA_SETACFEN_ERR EQU -23 ;//设置代码验收滤波器使能寄存器错
SJA_SETIER_ERR EQU -24 ;//设置中断使能失败
/*
;/*
;********************************************************************************************************************
;* 定义系统最大波特率
;********************************************************************************************************************
;*/
MAX_BAND_RATE EQU 1000000
;/*
;********************************************************************************************************************
;* 定义12M的晶体下,CAN总线通用波特率代表的数值
;********************************************************************************************************************
;*/
ByteRate_20k EQU 00 ;//波特率20kbps
ByteRate_40k EQU 01 ;//波特率40kbps
ByteRate_50k EQU 02 ;//波特率50kbps
ByteRate_80k EQU 03 ;//波特率80kbps
ByteRate_100k EQU 04 ;//波特率100kbps
ByteRate_125k EQU 05 ;//波特率125kbps
ByteRate_200k EQU 06 ;//波特率200kbps
ByteRate_250k EQU 07 ;//波特率250kbps
ByteRate_400k EQU 08 ;//波特率400kbps
ByteRate_500k EQU 09 ;//波特率500kbps
ByteRate_666k EQU 0aH ;//波特率666kbps
ByteRate_800k EQU 0bH ;//波特率800kbps
ByteRate_1000k EQU 0cH ;//波特率1000kbps
;;/*$page;*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -