STM32--CAN總線應運
1. 硬件基礎
2. 軟件設計
在進行軟件設計時,我們首先來看這樣的一個結構體:
typedef struct
{
} CanTxMsg;
這是定義一個can數據包的結構體,即一個CAN數據包包含以上幾個部分。
注意: DLC定義發送數據的長度,其范圍為:0~8。
下面我們來編寫CAN驅動:
對CAN模塊初始化
void CAN_CfgInit(void)
{
}
這里為can 定義一個專門的結構體,便于數據處理:
typedef struct CAN_Socket CAN;
struct CAN_Socket {
};
數據打包,并且發送
void CAN_TxSocket( CAN *can_Socket )
{
}
接收函數放在中斷程序中處理:
void USB_LP_CAN1_RX0_IRQHandler(void)
{
}
這里只介紹CAN使用方法和主要驅動程序,測試程序可自行設計。
本人的測試程序:
~INT8U SendBuff1[]="Hello";
INT8U SendBuff2[]="World";
INT8U SendBuff3[]="ADC= 255";
void main(void)
{
}
接收數據,并在液晶上打印出來!
void Disp_CanReceveData( void )
{
}
評論