stm32f103c8t6通过DMA直接从SPI传数据到SPI可行吗?
单片机吧
全部回复
仅看楼主
level 1
lxs826900517
楼主
一路SPI接TFT屏,另一路SPI接外部w25q128 flash存图片数据,能通过DMA直接把图片数据从外部flash传到tft屏吗,不经过sram的数组变量(因为c8t6只有20k sram,有的图片大于20k)。求关键思路。
2025年09月14日 06点09分
1
level 7
zayae
……听上去你这设备……有点………开后门的意思啊……
2025年09月14日 11点09分
2
level 1
江月流照👀
看不懂
2025年09月14日 11点09分
3
level 11
咱俩玩一会儿呀
可行,你可以一次在25Q里拿10K 显示10K 再去拿10K 再显示10K 只是刷新可能不快,不过问题不大。多拿几次,拿完为止,或干脆,拿一个 显示一个。 这样刷新率可能更慢。
2025年09月14日 12点09分
4
lxs826900517
我之前从flash拿到内存,然后内存DMA到SPI显示屏,因为内存不够一张大图,所以一行一行读取刷的,很明显的刷图痕迹,就是不知道怎么配,网上也找不到现成的外设到外设的代码参考。
2025年09月15日 10点09分
咱俩玩一会儿呀
@lxs826900517
屏太大了吧,C8T6 刷1.44的屏 每秒能15幅,128*128点,你要是换成256*128 就是7.5幅了,也可能有更好的办法,提高刷新率,我不会,这还不算你去读取 SPI的时间,加上那个时间就更慢了,我是直接内存里刷的。
2025年09月15日 12点09分
lxs826900517
@咱俩玩一会儿呀
240*240的,所以只能SPI到SPI,一张全屏图都刷不了,sram只有20K不够,我还是研究怎么外设到外设DMA吧
2025年09月15日 14点09分
咱俩玩一会儿呀
@lxs826900517
按你所说,240*240 比我的屏大了接近4倍,也就是15/4 每秒4幅 这是内存直读,你要是再加上去SPI拿数据,感觉,每秒两幅,是正常的。
2025年09月17日 10点09分
吧务
level 14
MCU起航
理论上没问题,多尝试,两个SPI接口速率要一样。
2025年09月15日 02点09分
5
lxs826900517
2025年09月15日 10点09分
level 5
vdcbbvfb
不行吧,DMA只有存储器到存储器,存储器到外设,外设到存储器这三个模式,没有外设到外设。STM32H743倒是有DMA2D可以实现类似的场景。
2025年09月17日 08点09分
6
1