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 )
{
}
评论