SPIDeinit之后 出现hardfault_handler问题
-
使用芯片ME05,MCAL版本2.20。
程序中使用SPI1,SPI2,SPI5,因为需要进入休眠,调用了SPI_Deinit函数,唤醒后重新走初始化流程,SPI2发送数据时直接进入hardfault_handler,排查发现问题如下:
在init时调用Spi_StatePtrs[HWUnit],HWUnit为(0,1,2)

在Deinit调用Spi_StatePtrs[Instance], Instance为(1,2,5)

导致使用instance(instance=5) 出现越界,刚好把Spi_BasePtrs[2] 踩踏为0x00, ,Spi_Lld_SetIntMode函数出现hardfault

这个问题该如何避免?
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...