44
124
1437
金牌会员
mcu: 8051U, 12MHz
屏幕驱动IC: ST7789, 240320RGB
开启SPI-DMA功能,把在XDATA段缓存的数据传送给SPI接口的屏幕
想了一宿没睡好,问题出在下面这段代码:
SPIWRBUS: CLR SS SETB SPIBUSY MOV SPDAT, A JB SPIBUSY, $ ; SETB SS RET
问题出在上述代码段第6行,注释掉之后,就可以显示出SPI-DMA传输的数据。如果不,SPI-DMA正常发生中断,就是屏幕不显示数据。但是不开启SPI-DMA功能的话,哎,即使不注掉第6行也没什么问题,显示正常。
下面这段是关于,开启SPI-DMA功能时对SS针脚的处理代码:
MOV A, #03H MOVH DR28, #WORD2 DMA_SPI_CFG2 MOV WR30, #WORD0 DMA_SPI_CFG2 MOV @DR28, R11
使用道具 举报 送花
经过各种组合式的修改,将频率能解决
本版积分规则 发表回复 回帖后跳转到最后一页
|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )
GMT+8, 2025-5-2 02:32 , Processed in 0.116174 second(s), 53 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.