官方有SPI1的demo例程,但是我因?yàn)槭褂昧薘GMII接口,所以只能使用SPI3來操作外部SPI Flash。根據(jù)CH32V307VCT6的datasheet:SPI3需要使用重映射功能。重映射后,SPI3_NSS為PA4,SPI3_SCK為PC10,SPI3_MISO為PC11,SPI3_MOSI為PC12。配置如下圖:
我也使用的SPI_NSS_SOFT模式,人為控制PA4的拉低拉高。
通過修改demo例程的代碼后,我在while(1)中每1秒讀取一次SPI FLASH的ID,均為0,使用示波器發(fā)現(xiàn)NSS為高電平,SCK一直無時(shí)鐘信號(hào),感覺SPI3沒有配置一樣。初始化SPI3有問題嗎?還望賜教,謝謝。我把修改后的幾個(gè)關(guān)鍵的SPI FLASH的函數(shù)也貼進(jìn)來,便于分析問題。