ch582m的SPI的DMA緩沖地址寄存器是15位,demo的地址問題

ch582的手冊里說SPI0的DMA緩沖寄存器R16_SPI0_DMA_BEG 是15位的, 而demo程序里進(jìn)行SPI dma收發(fā)的時(shí)候,spiBuff是個(gè)全局的數(shù)組地址,是位于sram的按地址映射體系 ram里地址都是0x20000000以上的, 這個(gè)地址直接賦值到R16_SPI0_DMA_BEG,必然會被截?cái)嗟?5位。?? ? ? ? 而15位地址都在user code的flash里的。? ?這樣的話,難道ch582m只能DMA讀寫小于15位地址的緩沖區(qū),換句話說,收發(fā)只能從flash前32k讀,然后寫到小于32k地址的(很多是TEXT段或者RODATA)flash的某處緩沖里?? 這個(gè)要求有點(diǎn)過頭,并且flash里讀寫的話速度不是更慢.??


所以我的問題是,我理解是否正確,demo程序這里spi buff被截?cái)酁?5位的地址是否還能正常DMA收發(fā)? 有什么模式能讓DMA的寫入地址變得更合理(比如大于32k地址,從RAM或者其他地方進(jìn)行讀寫)

這個(gè)地方傳入的地址可以理解為是RAM的相對地址,和code區(qū)是沒有關(guān)系的。RAM共32k,也就是15位。


TECH_Hy, 多謝!我再試試,感謝除夕之夜加班解惑,祝您新年快樂!


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

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