?? sja1000func.h
字號:
/*
********************************************************************************************************************
*描述: 獨立的CAN 控制器SJA1000應(yīng)用函數(shù)定義頭文件
*文件名: SJA1000FUNC.H
*應(yīng)用語言: KEIL C51
*版本 : V1.01
*廣州周立功單片機發(fā)展有限公司 保留所有的版權(quán)
********************************************************************************************************************
*/
#ifndef _SJA1000FUNC_H
#define _SJA1000FUNC_H
#ifndef _GLOBAL_SJA1000FUNC_
#define GLOBAL_SJA1000FUNC extern
#else
#define GLOBAL_SJA1000FUNC
#endif
/*
********************************************************************************************************************
* 定義sja1000的公用函數(shù)(basicCAN | PeliCAN)模式
********************************************************************************************************************
*/
/*
************************************************************************************************************************
**函數(shù)原型: char SJATestInterface(unsigned char testvalue)
**參數(shù)說明: Value 測試值
**返回值:
** SJA_OK ; 表示SJA1000接口正常
** SJA_INTERFACE_ERR ; 表示SJA1000與處理器接口出錯
**
**說明: 該函數(shù)用于檢測CAN控制器的接口是否正常
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC char SJATestInterface(unsigned char testvalue);
/*
************************************************************************************************************************
**函數(shù)原型: char SJAEntryResetMode(void)
**參數(shù)說明: 無
**返回值:
** SJA_OK ; 表示SJA1000進(jìn)入復(fù)位模式成功
** SJA_ENTRYRESET_ERR ; 表示SJA1000進(jìn)入復(fù)位模式失敗
**
**說明: 該函數(shù)用于使sja1000進(jìn)入復(fù)位模式
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC char SJAEntryResetMode(void);
/*
************************************************************************************************************************
**函數(shù)原型: char SJAQuitResetMode(void)
**參數(shù)說明: 無
**返回值:
** SJA_OK ; 表示SJA1000退出復(fù)位模式成功
** SJA_QUITRESET_ERR ; 表示SJA1000退出復(fù)位模式失敗
**
**說明: 該函數(shù)用于使sja1000退出復(fù)位模式,進(jìn)入工作模式
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC char SJAQuitResetMode(void);
/*
************************************************************************************************************************
**函數(shù)原型: char SetBitMask(unsigned char RegAdr,unsigned char BitValue)
**參數(shù)說明: RegAdr 要設(shè)置位的寄存器地址
** BitValue 要設(shè)置的值
**返回值:
** SJA_OK ; 表示設(shè)置值 成功
** SJA_INIT_ERR ; 表示設(shè)置值 失敗
**
**說明: 該函數(shù)用于置位sja1000某寄存器的某位
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC char SetBitMask(unsigned char RegAdr,unsigned char BitValue);
/*
************************************************************************************************************************
**函數(shù)原型: char ClearBitMask(unsigned char RegAdr,unsigned char BitValue)
**參數(shù)說明: RegAdr 要清除位的寄存器地址
** BitValue 要清除的值
**返回值:
** SJA_OK ; 表示位清除 成功
** SJA_INIT_ERR ; 表示位清除 失敗
**
**說明: 該函數(shù)用于清除sja1000某寄存器的某位
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC char ClearBitMask(unsigned char RegAdr,unsigned char BitValue);
/*
************************************************************************************************************************
**函數(shù)原型: char SJATestRstMode(void)
**參數(shù)說明: 無
**返回值:
** 0 ; 表示SJA1000處于復(fù)位模式
** 1 ; 表示SJA1000處于工作模式
**
**說明: 該函數(shù)用于測試SJA1000 處于復(fù)位模式還是工作模式
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC char SJATestRstMode(void);
/*
************************************************************************************************************************
**函數(shù)原型: char SJASetBandRateStandard(unsigned char BandRateSize)
**參數(shù)說明: BandRateSize 標(biāo)準(zhǔn)常用波特率(Kbps)
** 0 5
** 1 10
** 2 20
** 3 40
** 4 50
** 5 80
** 6 100
** 7 125
** 8 200
** 9 250
** 10 400
** 11 500
** 12 666
** 13 800
** 14 1000
**返回值:
** 0 ; 設(shè)置總線定時器成功
** SJA_SETBTR_ERR ; 設(shè)置總線定時器錯
** SJA_NOBTRSIZE ;波特率不能設(shè)為此值
**
**說明: 該函數(shù)用于設(shè)定在系統(tǒng)晶體為16MHZ時,常用的標(biāo)準(zhǔn)波特率的值。
** 參數(shù)BandRateSize只能為0~14,其它的值會返回SJA_NOBTRSIZE錯誤
** 本函數(shù)只能用于復(fù)位模式
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC char SJASetBandRateStandard(unsigned char BandRateSize);
/*
************************************************************************************************************************
**函數(shù)原型: char SJASystemPrgCMD(unsigned char cmd)
**參數(shù)說明: cmd SJA1000 的PeliCAN 工作方式命令字
**返回值:
** 0 ; 表示命令執(zhí)行成功
** SJA_IMPCMD_ERR ; 表示命令執(zhí)行出錯
** SJA_NOTHISCMD ; 沒有此命令
**
**說明: 該函數(shù)用于執(zhí)行sja1000的命令
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC char SJASystemPrgCMD(unsigned char cmd);
/*
************************************************************************************************************************
**函數(shù)原型: char SJASetClockDivision(unsigned char clockdiv)
**參數(shù)說明: clockdiv 時鐘分頻寄存器的設(shè)定值
**返回值:
** 0 ; 設(shè)置時鐘分頻寄存器成功
** SJA_SETCDR_ERR ; 設(shè)置時鐘分頻寄存器錯
** SJA_NOTRSTMODE ; sja1000不在復(fù)位模式
**
**說明: 該函數(shù)用于設(shè)定sja1000的時鐘分頻寄存器
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC char SJASetClockDivision(unsigned char clockdiv);
/*
************************************************************************************************************************
**函數(shù)原型: char SJASetOutControl(unsigned char OutCtrl)
**參數(shù)說明: OutCtrl 輸出控制寄存器的設(shè)定值
**返回值:
** 0 ; 設(shè)置輸出控制寄存器成功
** SJA_SETOCR_ERR ; 設(shè)置輸出控制寄存器錯
** SJA_NOTRSTMODE ; sja1000不在復(fù)位模式
**
**說明: 該函數(shù)用于設(shè)定sja1000的輸出控制
************************************************************************************************************************
*/
GLOBAL_SJA1000FUNC char SJASetOutControl(unsigned char OutCtrl);
/*
************************************************************************************************************************
**函數(shù)原型: char SJAWriteDataToTxBuf(unsigned char *databuf,unsigned char len)
**
**參數(shù)說明: databuf 寫數(shù)據(jù)緩沖區(qū)首地址
** len 寫長度
**返回值:
** 0 ; 表示將數(shù)據(jù)成功的寫到到sja1000的發(fā)送緩沖區(qū)
** SJA_TXBUFLOCK ; sja1000發(fā)送緩沖區(qū)鎖定
**
** SJA_WTXBUF_ERR ; 表示寫數(shù)據(jù)失敗
**
**說明: 該函數(shù)用于將要發(fā)送到總線的特定幀格式的數(shù)據(jù)寫入sja1000的發(fā)送緩沖區(qū)
************************************************************************************************************************
GLOBAL_SJA1000FUNC char SJAWriteDataToTxBuf(unsigned char *databuf,unsigned char len);
/*
************************************************************************************************************************
**函數(shù)原型: char SJAReadDataFromRxBuf((unsigned char *databuf,unsigned char len)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -