完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
M451如何重写HardFault函数?
在 M451 BSP 里 M451BSP\Library\StdDriver\src\retarget.c 修改 Hard_Fault_Handler() 楼上正解。修该那个函数就行了。 |
|
相关推荐
1个回答
|
|
重写 HardFault 函数需要先定义一个函数指针,然后将函数指针指向新的 HardFault 函数,最后需要重新配置向量表以使新的 HardFault 函数生效。具体代码如下:
``` typedef void (*pFaultHandler)(void); void myHardFaultHandler(void) { // Your code here } void* myHardFaultHandlerPtr = (void*)myHardFaultHandler; __ASM void HardFault_Handler(void) { TST LR, #4 ITE EQ MRSEQ R0, MSP MRSNE R0, PSP MOV R1, LR B (pFaultHandler)(myHardFaultHandlerPtr) } ``` 以上代码会将 HardFault 函数指向 myHardFaultHandler 函数。在 myHardFaultHandler 函数中,你可以编写自己的错误处理逻辑。 |
|
|
|
只有小组成员才能发言,加入小组>>
798 浏览 0 评论
1155 浏览 1 评论
2531 浏览 5 评论
2863 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2713 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1086浏览 3评论
195浏览 2评论
461浏览 2评论
374浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
455浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 10:26 , Processed in 1.022354 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号