?? mscan12.h
字號:
//[MSCAN12.h]CAN通信頭文件--------------------------------------------------
//CAN通信需要用到的頭文件
#include "Type.h" //類型別名定義
#include "mc9s12dg128.h" //MCU映像寄存器名
//CAN通信寄存器及標志位定義
#define CANE 7 //MSCAN12模塊使能位
#define INITRQ 0 //MSCAN12模塊初始化請求位
#define INITACK 0 //MSCAN12模塊初始化應答位
#define CLKSRC 6 //MSCAN12時鐘選擇位
#define LOOPB 5 //自測位
#define LISTEN 4 //只聽模式位,只聽模式時不能發送
#define DataFrm 1 //數據幀類型
#define RemoteFrm 2 //遠程幀類型
#define RXF 0 //接收滿標志位
#define TXE0 0 //發送緩沖區0空標志位
#define TXE1 1 //發送緩沖區1空標志位
#define TXE2 2 //發送緩沖區2空標志位
#define TXS0 0 //發送緩沖區0被選中
#define TXS1 1 //發送緩沖區1被選中
#define TXS2 2 //發送緩沖區2被選中
#define TXF0 0 //發送緩沖區0滿
#define TXF1 1 //發送緩沖區1滿
#define TXF2 2 //發送緩沖區2滿
#define IDE 3 //IDE位
#define RTR 4 //RTR位
#define ERTR 0 //擴展幀中的RTR位
#define CAN0TXFG CAN0TXIDR0
#define CAN0RXFG CAN0RXIDR0
//CAN通信用到的設置量定義
//bit.7-6=00,同步跳轉寬度為1,bit.5-0=000100,預分頻因子為5
#define CAN0BTR0V 0x04
//bit.7=0,單次采樣,bit.6-4=010,時間段2為3,bit.3-0=0101,
//時間段1為6,0b00100101,故位速率=1.97M/10=197kbps
#define CAN0BTR1V 0x25
//兩個32位驗收濾波器,濾波器0命中
#define CAN0IDACV 0x00
//本地節點標識符定義為00000000 000
#define CAN0IDAR0V 0x00
#define CAN0IDAR1V 0
//本地節點標識符屏蔽寄存器定義為相關00000000 000
#define CAN0IDMR0V 0x00
#define CAN0IDMR1V 0x1F
//不允許接收中斷
#define CAN0TIERV 0x00
//不允許發送緩沖區空中斷
#define CAN0TIERV 0x00
//CAN通信相關函數聲明
//CAN通信初始化
void CANInit(void);
//CAN發送1幀數據幀(數據長度<=8)
INT8U CANSND1DFRM(INT16U ID,INT8U * DataBUF,INT8U LEN);
//查找空閑發送緩沖區
INT8U GetSNDBUF(void);
//接收1幀
INT8U CANRCV1FRM(INT8U * CANRCVBUF);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -