CH32V203xx在Delay时有概率触发HardFault

请问触发了HardFault一般是什么原因导致的?

目前写的demo只是用了简单的GPIO, UART, ADC, DMA等资源,然后在主循环的Delay时,有概率会HardFault。

在HardFault_Handler里获取了几个异常状态如下:

MCAUSE = 0x07

MTVAL = 0xfff0fff

MEPC = 0x2432

分析了下目标bin,发现0x2432处好像是libc的printf函数,我有在DMA的中断处理过程中使用printf,但为什么使用printf会导致HardFault呢?


您好,一般不建议中断函数中加打印函数,打印函数处理需要时间,会发生阻塞,从而导致程序异常


只有登录才能回复,可以选择微信账号登录