?? sja1000os.h
字號(hào):
/*
********************************************************************************************************************
*描述: 獨(dú)立的CAN 控制器SJA1000系統(tǒng)應(yīng)用常量定義頭文件
*文件名: SJA1000OS.H
*應(yīng)用語言: KEIL C51
*版本 : V1.01
*廣州周立功單片機(jī)發(fā)展有限公司 保留所有的版權(quán)
********************************************************************************************************************
*/
#ifndef _SJA1000OS_H
#define _SJA1000OS_H
/*
********************************************************************************************************************
* 定義標(biāo)準(zhǔn)幀或擴(kuò)展幀的報(bào)文識(shí)別碼的長(zhǎng)度
********************************************************************************************************************
*/
#define STD_FRAMEID_LENTH 0x02
#define EXT_FRAMEID_LENTH 0x04
/*
********************************************************************************************************************
* 定義標(biāo)準(zhǔn)幀或擴(kuò)展幀的長(zhǎng)度
********************************************************************************************************************
*/
#define STD_FRAME_LENTH 11
#define EXT_FRAME_LENTH 13
/*
********************************************************************************************************************
* SJA1000 的PeliCAN 工作方式命令字定義
* 每一個(gè)命令字都通過將該命令字寫入命令寄存器,兩條命令之間必須至少間隔一個(gè)內(nèi)部時(shí)鐘
* 周期(內(nèi)部時(shí)鐘頻率為外部振蕩器頻率的1/2)
********************************************************************************************************************
*/
#define NORMAL_SEND 0x01 //SJA1000正常發(fā)送命令,允許自動(dòng)重發(fā)
#define STOP_SEND 0x02 //中止發(fā)送位
#define SINGLE_SEND 0X03 //單次發(fā)送,不自動(dòng)重發(fā)
#define RELEASE_RX_BUF 0x04 //釋放接收緩沖器
#define CLR_DATA_OVER 0x08 //清除數(shù)據(jù)溢出
#define SELF_RCV_REQUEST 0x10 //自身接收請(qǐng)求
#define SELF_SINGLE_RCVSEND 0X12 //單次自接收性質(zhì)的信息發(fā)送
/*
********************************************************************************************************************
* SJA1000 的PeliCAN 工作方式 錯(cuò)誤代碼定義
* 每一個(gè)PeliCAN 工作方式下的函數(shù)都將產(chǎn)生一個(gè)返回值,該值應(yīng)該符合下面的代碼定義
********************************************************************************************************************
*/
#define SJA_OK 0x00
#define SJA_INTERFACE_ERR (-1) //與微處理器接口錯(cuò)
#define SJA_ENTRYRESET_ERR (-2) //進(jìn)復(fù)位狀態(tài)錯(cuò)
#define SJA_QUITRESET_ERR (-3) //退出復(fù)位狀態(tài)錯(cuò)
#define SJA_INIT_ERR (-4) //SJA1000初始化錯(cuò)
#define SJA_CODE_ERR (-5) //SJA1000代碼錯(cuò)
#define SJA_FRAME_ERR (-6) //幀格式錯(cuò)
#define SJA_WTXBUF_ERR (-7) //寫sja1000發(fā)送緩沖區(qū)錯(cuò)
#define SJA_CANBUS_ERR (-8) //總線錯(cuò)誤 (關(guān)閉)
#define SJA_TXBUFLOCK (-9) //sja1000發(fā)送緩沖區(qū)鎖定
#define SJA_RXBUFEMPTY (-10) //sja1000接收緩沖區(qū)為空
#define SJA_RRXVUF_ERR (-11) //sja1000接收數(shù)據(jù)錯(cuò)
#define SJA_SETACR_ERR (-12) //設(shè)置代碼驗(yàn)收寄存器錯(cuò)
#define SJA_NOTRSTMODE (-13) //sja1000不在復(fù)位模式,卻調(diào)用了初始化函數(shù)
#define SJA_SETBTR_ERR (-14) //設(shè)置總線定時(shí)器錯(cuò)
#define SJA_NOBTRSIZE (-15) //波特率不能設(shè)為此值
#define SJA_SETAMR_ERR (-16) //設(shè)置驗(yàn)收屏蔽寄存器錯(cuò)
#define SJA_SETOCR_ERR (-17) //設(shè)置輸出控制寄存器錯(cuò)
#define SJA_SETCDR_ERR (-18) //設(shè)置時(shí)鐘分頻寄存器錯(cuò)
#define SJA_IMPCMD_ERR (-19) //命令執(zhí)行出錯(cuò)
#define SJA_NOTHISCMD (-20) //沒有此命令
/*
********************************************************************************************************************
* 定義16M的晶體下,CAN總線通用波特率代表的數(shù)值
********************************************************************************************************************
*/
#define ByteRate_5k 0x00 //波特率5kbps
#define ByteRate_10k 0x01 //波特率10kbps
#define ByteRate_20k 0x02 //波特率20kbps
#define ByteRate_40k 0x03 //波特率40kbps
#define ByteRate_50k 0x04 //波特率50kbps
#define ByteRate_80k 0x05 //波特率80kbps
#define ByteRate_100k 0x06 //波特率100kbps
#define ByteRate_125k 0x07 //波特率125kbps
#define ByteRate_200k 0x08 //波特率200kbps
#define ByteRate_250k 0x09 //波特率250kbps
#define ByteRate_400k 0x0A //波特率400kbps
#define ByteRate_500k 0x0B //波特率500kbps
#define ByteRate_666k 0x0C //波特率666kbps
#define ByteRate_800k 0x0D //波特率800kbps
#define ByteRate_1000k 0x0E //波特率1000kbps
/*
********************************************************************************************************************
* SJA1000OS定義結(jié)束
********************************************************************************************************************
*/
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -