PeterTsai 发表于 2017-6-14 16:02:37

SPI1 & SPI2同時運作產生衝突

mcu : STM32F072VBT6 LQFP-100
目前狀況:
SPI2在主迴圈中不定時會傳送資料,本可正常執行
現加入SPI1在定時的tim6中斷時也傳送資料,程式卻會進入Error_Handler()而當機
我看到的是兩個SPI都是call HAL_SPI_Transmit()這個函式,雖然呼叫時所代的參數不同,但畢竟是同一段程式碼,請問是因此而當機嗎?
有無方式解決?

ts2000 发表于 2017-8-1 09:28:03

使用DMA模式应该可以避免死机,原因有可能是优先级别处理不同而死机的。

gujiamao 发表于 2017-8-1 09:41:19

还没有用过hal库...

张亚飞 发表于 2017-8-1 10:10:57

HAL_SPI_Transmit() 是阻塞去发送,你两个SPI发送的时候超时时间是怎么设置的呢? 建议改成中断试试。

sfd123-302670 发表于 2017-8-1 10:54:29

没用过HAL,不了解!

jcx0324 发表于 2017-8-1 10:55:38

关键通信处理都不用hal库的

无薪税绵 发表于 2017-8-1 16:20:52

会不会是HAL_SPI_Transmit传送的时间超过了tim6的中断时间,导致重入了?
页: [1]
查看完整版本: SPI1 & SPI2同時運作產生衝突