今天講解“STM32F103 SPI讀寫Flash”,其實這第一階段主要是講解STM32的SPI功能,所有今天的重點是SPI,關(guān)于FLASH我應(yīng)該要在后面再次講述。
今天提供并講解的軟件工程,基于軟件工程“A0.0.0(STM32F10x_TIM延時)”修改而來。若不知道如何而來,請關(guān)注微信公眾號“EmbeddDeveloper”獲取更多信息。
本著免費分享的原則,將講解的工程源代碼分享給大家,還望看到的朋友關(guān)注和推廣一下微信公眾號,增加一下人氣。
每天提供下載的“軟件工程”都是在硬件板子上進行多次測試、并保證沒問題才上傳至360云盤。
今天的軟件工程下載地址(360云盤):
https://yunpan.cn/cPzhMXjRPbWzc訪問密碼
STM32F10x的資料可以在我360云盤下載:
https://yunpan.cn/crBUdUGdYKam2訪問密碼 ca90
關(guān)于“STM32F103SPI讀寫Flash”我把重要的幾點在下面分別講述,若不明白,請關(guān)注微信公眾號“EmbeddDeveloper”查閱或留言。
一、RCC時鐘配置
該函數(shù)位于在bsp.c文件下面;
使能RCC時鐘:RCC_APB2Periph_SPI1
二、引腳配置
該函數(shù)位于在spi.c文件下面;
這里是對SPI所使用引腳進行配置。
注意:
SPI作為主機,我們使用硬件SPI時,通常只使用SCK, MOSI, MISO三個引腳,片選CS需要單獨配置,所以這里配置CS需要和器件對應(yīng)才行。
三、SPI配置
該函數(shù)位于在spi.c文件下面;
對SPI進行配置。
配置的每一條語句都有注釋,請看源代碼.
這里配置的都比較基礎(chǔ)的,后續(xù)我會講解復(fù)雜一點的配置(前期第一階段定位在初級,所以,如果你想了解更高級的功能,請持續(xù)關(guān)注我的微信公眾號)。
四、SPI讀寫字節(jié)
該函數(shù)位于在spi.c文件下面;
外設(shè)操作SPI時就需要調(diào)用這個函數(shù)。
五、主函數(shù)應(yīng)用
該函數(shù)位于在main.c文件下面;
這里是通過SPI操作FLASH讀寫數(shù)據(jù),但今天主要是測試SPI通信是否正常,所以關(guān)于FLASH的函數(shù)今天就不在這里講解,感興趣的朋友可以研究一下,經(jīng)過我大量測試,sflash.c文件的接口可以正常使用。
可以看到現(xiàn)象:間隔500ms,LED變化,串口打印出讀出flash的數(shù)據(jù)。
六、今天的重點提示
SPI的對應(yīng)從機基本上都有片選信號,所以這里要對應(yīng)起來;還有SPI可作為從機使用,后續(xù)我會講解。