STM32程序串口DMA初始化时进入hardfault_handler()

低级错误导致:

原来自己的工程里串口用的中断方式,

从官方历程复制串口的DMA程序到自己的工程里,

结果一执行到DMA初始化,就hardfault_handler(),反复重启。

初始化函数里调用了HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)这个函数

程序执行到这里就会复位。

原因竟然是没有更新MSP初始化函数。这HAL库挺坑人的,一个串口初始化还分两部分,经常忽略还有一个MSP初始化函数要修改。

串口使用DMA方式时,MSP函数对DMA做了初始化,中断方式的MSP初始化自然不会初始化DMA,所以一调用前面那个函数就hardfault_handler()复位了!!!!

相关推荐
ch3nyuyu12 小时前
单片机实验2
单片机·嵌入式硬件
mk01513 小时前
20V输入,12V 3A输出 效率96%DCDC降压芯片
驱动开发·单片机·硬件工程·智能硬件·pcb工艺
李boyang13 小时前
STM32H5_Bootloader与IAP升级机制深度解析
stm32·iap·bootloader
达子66615 小时前
Zephyr RTOS 学习系统:第一阶段 —— 入门篇
stm32·单片机·嵌入式硬件
三易串口屏18 小时前
触摸热区控件
嵌入式硬件·触摸屏·串口屏·三易串口屏·触摸热区控件
‎ദ്ദിᵔ.˛.ᵔ₎20 小时前
STM32入门第一课:32位MCU
stm32·单片机
西城微科方案开发20 小时前
智能电子跳绳方案开发
单片机·嵌入式硬件
国科安芯21 小时前
抗辐射微控制器在卫星电源管理分系统中的控制架构与可靠性研究——基于AS32S601型MCU的星载能源系统智能化管理技术分析
网络·单片机·嵌入式硬件·安全·架构·系统架构·能源
KaifuZeng1 天前
电路面试问题汇总一
单片机·嵌入式硬件·面试·电路
Freedom_my1 天前
STM32简单项目
stm32·单片机·嵌入式硬件