使用CH573 SPI驅(qū)動LCD屏刷屏速度慢

之前用HC32F005的SPI(未使用DMA)系統(tǒng)頻率24MHz,驅(qū)動LCD刷屏速度感覺很快。程序移植到CH573芯片,主頻60MHz,使用SPI驅(qū)動LCD屏感覺刷屏速度慢,而且使用了DMA發(fā)送指令數(shù)據(jù)感覺速度也沒有明顯的提升,這是為什么?

因為芯片有片外Flash,速度實際是主頻的Fsys/8。
如果需要跑的運行達到60MHz,可以把相應(yīng)的函數(shù)放到RAM中運行,加上定義
__attribute__((section(".highcode")))


比如

image.png

該定義僅適用于當(dāng)前函數(shù),不含上一級函數(shù)或者該函數(shù)里面調(diào)用的函數(shù)。
缺點是當(dāng)前函數(shù)需要在RAM中運行,需注意RAM的消耗。



是把LCD顯示函數(shù)前加上__attribute__((section(".highcode")))就可以提高刷屏速度嗎


? ? ? ?樓主的SPI的初始化設(shè)置函數(shù)能夠共享下不,初始化SPI的時候,需要對SPI的IO口狀態(tài)做初始化不,我按照示例初始化程序,好像沒看到對IO的狀態(tài)做初始化,樓主幫忙看下。

/*******************************************************************************

* Function Name? : SPI1_MasterDefInit

* Description? ? : 主機模式默認初始化

* Input? ? ? ? ? : None

* Return? ? ? ? ?: None

*******************************************************************************/

void SPI1_MasterDefInit( void )

{

? ? R8_SPI1_CLOCK_DIV = 4;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//主頻時鐘4分頻

? ? R8_SPI1_CTRL_MOD = RB_SPI_ALL_CLEAR;

? ? R8_SPI1_CTRL_MOD = RB_SPI_MOSI_OE | RB_SPI_SCK_OE ;

? ? R8_SPI1_CTRL_CFG |= RB_SPI_AUTO_IF;

? ? R8_SPI1_CTRL_CFG &= ~RB_SPI_DMA_ENABLE;? ? ? ? ? ? ? ? ? //不啟動DMA方式

? ? //R8_SPI1_CTRL_CFG |= RB_SPI_DMA_ENABLE;? ? ? ? ? ? ? ? ?//啟動DMA方式

}



看你發(fā)了很多回復(fù),這個CH569中的代碼,GPIO初始化是直接操作R32_PB_XXX寄存器實現(xiàn)的

image.png


樓主,問題最后解決了嗎?是通過給顯示相關(guān)函數(shù)加常駐ram屬性解決的嗎?


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

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