芯片 STM32F103C8T6
同样的板子,用标准函数库,CAN收发都正常。
用hal 库 就会出现收到消息之后可以进中断,表示过滤器工作正常,但是接着程序就会跑到
void HardFault_Handler(void) {
/* USER CODE BEGIN HardFault_IRQn 0 */
asm("BX LR");//return to the errror
/* USER CODE END HardFault_IRQn 0 */
while (1) {
}
/* USER CODE BEGIN HardFault_IRQn 1 */
/* USER CODE END HardFault_IRQn 1 */
}
我添加了,asm("BX LR");//return to the errror 跳转回出错点的语句,发现收到消息之后对can 的很多操作都会跳回到HardFault_Handler 。
Hal 库版本
STM32Cube FW_F1 V1.4.0
不知道有谁遇到过HAL库的这些问题
这是怎么一回事
但是我不用hal 的教程很正常
HAL_CAN_ErrorCallback才是出错处理
hcan1.pTxMsg = &TxMessage;
hcan1.pRxMsg = &RxMessage;
还是没解决问题
一周热门 更多>