另外,接收中断回调函数如下所示:
void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef* hcan)
{
if(hcan->pRxMsg->StdId ==0x321)
{
//handle the CAN message
HandleCANMessage(hcan->pRxMsg); //处理接收到的CAN报文
}
if(hcan->pRxMsg->ExtId ==0x1800f001)
{
HandleCANMessage(hcan->pRxMsg); //处理接收到的CAN报文
}
HAL_GPIO_WritePin(LED4_GPIO_Port,LED4_Pin,GPIO_PIN_SET); //若收到消息则闪烁下LED4
HAL_Delay(200);
HAL_GPIO_WritePin(LED4_GPIO_Port,LED4_Pin,GPIO_PIN_RESET);
HAL_CAN_Receive_IT(&hcan1,CAN_FIFO0);
}
|