STM32F429的SPI驅動遇到的一個坑!!


最近在做項目要用到FATFS文件系統和SD卡驅動,SD卡驅動我用的是SPI的通信方式,在掛載文件系統是總是掛載失敗了,經過檢查,才發現SPI在接收時候卡死:

 

 為了尋找問題的原因,整個人都快瘋了,最終我發現一個函數有一個大坑!!

由於我需要在讀取或寫入SD數據時要把SPI的波特率調大些,就寫了下面這個函數,定義了一個結構體變量,因為SPI_InitStructure是局部變量,所以這個變量成員都是隨機值,況且我只配置了一個成員,這樣一來導致整個SPI的參數都亂了!!!

C語言基礎真的很重要,有些BUG的產生都是因為基礎不牢固導致的。

 修改如下,直接配置寄存器就行了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM