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