STM32
直播中

风尚男人

9年用户 975经验值
私信 关注
[问答]

STM32F030F4使用HAL_SPI_Transmit发送函数,执行到数据写入DR时就进硬件错误中断怎么解决?

大家好,我最近用STM32F030F4的SPI驱动一块3.5寸LCD,是三线的,LCD要求时序如下

于是我配置SPI为9bit,主频28兆,4分频为7兆,配置如下

使用的HAL_SPI_Transmit发送函数,发现执行到数据写入DR时就进硬件错误中断了
stm32f03xx_hal_spi.c中,,执行到下面就硬件错误了.

使用IO模拟是没有问题的,整的我一时摸不着头脑了,网上找了一圈也没有具体方法,请教下大家怎么搞.

回帖(1)

建立建利12

2024-3-28 17:21:28
要解决硬件错误中断的问题,你可以尝试以下几个步骤:

1. 确保你的SPI配置正确,包括时钟频率、数据位数等。请注意,LCD要求的时序可能与你的配置不匹配,所以确保配置与LCD的要求一致。

2. 检查你的电路连接。确保SPI线路正确连接,电平匹配,没有短路或接触不良的问题。

3. 确保你的SPI外设的时钟已经启用。在初始化代码中,检查是否已经对SPI外设和相关的时钟进行了正确的配置。

4. 检查是否使用了正确的SPI引脚。在STM32F030F4芯片上,SPI引脚可能与其他功能共用,确保使用了正确的引脚,并在初始化代码中进行正确的配置。

5. 检查是否提供了足够的供电电流。如果SPI外设在数据发送期间消耗了较多的电流,而你提供的电源供电不足,则可能导致硬件错误中断。确保提供足够的电源,尤其是需要供电给外设的电源部分。

如果你仍然遇到困难,可以尝试在代码中加入一些错误处理机制。例如,你可以在进入硬件错误中断时暂停SPI外设、重新初始化SPI等,以尝试恢复外设的正常工作状态。你还可以使用触发硬件错误中断时的错误信息,进行故障排除。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分