STM32F103RC进入串口3接收中断产生HardFault_Hander问题解决!

  最近在以前的项目上添加串口3通讯后,程序一进入接收中断后就产生HardFault_Hander。串口3发送数据一切正常,当打开串口3接收功能时,程序就处于HardFault_Hander状态,而导致死机。查询串口3的所有配置,都没有发现问题。在网上查询好久,也没有找到解答的办法。

 

  花了近二天时间后,突然发现项目的启动文件配置错误了。给配置为了startup_stm32f10x_ld.s。后打开startup_stm32f10x_ld.s文件查看,发现其中根本没有配置UARTS3的中断向量。

 

LD.S配置图片:可以发现其中根本没有配置UART3的向量中断。所以当串口3有接收中断时,中断得不到处理就会进入HardFault_Hander。(发送没使用中断,所以不会进入中断)

 

HD.S图片中是有配置所有外设。

 

  发现是此问题后,将启动文件改为HD.S重新编译,程序就没有出问题了。

  此处是因为个人不小心添加错了启动文件导致的。希望以后碰到此类问题的朋友注意检查一下是不是发生此类低级错误。

posted @ 2017-03-18 16:02  清风明月2018  阅读(3554)  评论(2编辑  收藏  举报