CH573F SPI調(diào)試分享,順帶請技術(shù)支持發(fā)模擬U盤的程序(USB+W25Q16)給我

? //SPI調(diào)試總結(jié):

? //把時鐘設(shè)置為30MHz,傳輸一個字節(jié)為0.3us。

? //我發(fā)現(xiàn)CH573指令運(yùn)行速度很慢,直接FIFO賦值8個字節(jié)時,已經(jīng)有3字節(jié)傳輸完成,R8_SPI0_FIFO_COUNT==5

? //當(dāng)使用while或for循環(huán)指令時,空循環(huán)里面只發(fā)一個FIFO賦值,一個循環(huán)就有1-2us,所以可以直接FIFO賦值,不用擔(dān)心溢出。

? //使用DMA時,要注意使用內(nèi)存地址循環(huán)時,會一直發(fā)數(shù)據(jù)以保持FIFO為滿,當(dāng)R16_SPI0_TOTAL_CNT為0時,F(xiàn)IFO還是滿的,有8個數(shù)據(jù)在FIFO未發(fā)送

? //當(dāng)下一次開啟SPI發(fā)送時會發(fā)現(xiàn)前8個數(shù)據(jù)不對,第9個數(shù)據(jù)才是要發(fā)送的第1個數(shù)據(jù)

? //在使用DMA內(nèi)存地址不循環(huán)時,要保證R16_SPI0_DMA_END-R16_SPI0_DMA_BEG=R16_SPI0_TOTAL_CNT,否則也行出現(xiàn)上面的問題。

? //因為DMA只能對內(nèi)存操作,而且CH573指令運(yùn)行速度慢,一般傳送非相同字節(jié)用DMA沒有意義。

以上是我調(diào)試SPI的總結(jié),如有不對,望大師指證。

我的郵箱:個人信息保護(hù),已隱藏


573在Flash中運(yùn)行的代碼是大概只有60/8Mhz,如果想運(yùn)行的快一點,RAM足夠,可以把代碼運(yùn)行RAM里面。
函數(shù)前加__attribute__((section(".highcode")))? 當(dāng)前函數(shù)就在RAM里面運(yùn)行


我也需要,CH573F 模擬U盤的程序(USB+W25Q16)郵箱:個人信息保護(hù),已隱藏?


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

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