如何使用CH32V307VCT6的SPI3?

官方有SPI1的demo例程,但是我因?yàn)槭褂昧薘GMII接口,所以只能使用SPI3來操作外部SPI Flash。根據(jù)CH32V307VCT6的datasheet:SPI3需要使用重映射功能。重映射后,SPI3_NSS為PA4,SPI3_SCK為PC10,SPI3_MISO為PC11,SPI3_MOSI為PC12。配置如下圖:

D63}R0PJV0D1Q4{)84{2M5F.png

我也使用的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)來,便于分析問題。

69WLXY3X$(4(VJ78715OAWI.png

{5BTNX33BALW7MQ}64M2UKQ.png

你好,附件是我在我們EVT SPI讀寫FLASH例程基礎(chǔ)上修改為SPI3的例程,例程讀ID等操作都是沒問題的,你可以對(duì)比參考一下

icon_rar.gifCH32V307 SPI3.zip



感謝大佬的支持!根據(jù)您提供的例程,很快找到原因了:我使用的主頻是144MHz,估計(jì)是時(shí)鐘太快了,我把demo中的SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4改為SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8以后,讀寫就正常了。


你好,老師。SPI3引腳是不是可以重影射到PB3,PB4,PB5,PA15引腳。得怎么操作啊


您好,參考下圖配置

image.png


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频