[RISC-V MCU 应用开发] 请教有谁能提供个CH32V103驱动ST7789或ILI9341的点亮代码

[复制链接]
 楼主| panxiaoyi 发表于 2025-3-9 16:01 | 显示全部楼层 |阅读模式
大家好。
请教一下,看看谁能提供个 CH32V103 驱动 ST7789 或 ILI9341 的点亮代码?我把液晶屏官方的 STM32 的代码移植过来,结果不会显示。
我有官方的 CH32V103R8T6 开发板 和 下载器,也新买了上面的两款中景园彩屏,240x320,都是 SPI 接口
要求:
1、不要外挂 RAM 和 FLASH,因为我还没有学到这里
2、能随便点亮显示点内容即可
3、如果还有 DMA 传输的就更好
多谢,下面是我的接线图

 楼主| panxiaoyi 发表于 2025-3-9 22:08 | 显示全部楼层
点亮了,用液晶屏官方的代码移植,模拟SPI的。
下一步就是学习SPI-DMA来驱动,如果大家刚好有,希望能给参考一下,多谢
L-MCU 发表于 2025-3-10 14:34 | 显示全部楼层
panxiaoyi 发表于 2025-3-9 22:08
点亮了,用液晶屏官方的代码移植,模拟SPI的。
下一步就是学习SPI-DMA来驱动,如果大家刚好有,希望能给参 ...

附件例程是CH32L103 SPI+DMA驱屏的例程,可以参考一下

CH32L103 SPI驱动LCD.zip

766.97 KB, 下载次数: 6

 楼主| panxiaoyi 发表于 2025-3-10 22:35 | 显示全部楼层
L-MCU 发表于 2025-3-10 14:34
附件例程是CH32L103 SPI+DMA驱屏的例程,可以参考一下

感谢先,刚才移植试了一下,暂时还不行,不过后续我肯定还会继续的
xionghaoyun 发表于 2025-3-11 13:59 | 显示全部楼层
LZ分享代码不
 楼主| panxiaoyi 发表于 2025-3-11 15:48 | 显示全部楼层
L-MCU 发表于 2025-3-10 14:34
附件例程是CH32L103 SPI+DMA驱屏的例程,可以参考一下

可以了,多谢 L-MCU ,后面会慢慢学习的。感谢。
微信图片_20250311154537.jpg
 楼主| panxiaoyi 发表于 2025-3-11 15:51 | 显示全部楼层

这个就是移植过来的代码,我也要慢慢学习

CH32V103R8T6001_SPI2_DMA.rar

583.84 KB, 下载次数: 1

CH32V103R8T6004_模拟SPI 1.rar

647.61 KB, 下载次数: 1

 楼主| panxiaoyi 发表于 2025-3-30 11:27 | 显示全部楼层
本帖最后由 panxiaoyi 于 2025-3-30 11:39 编辑

请教一下大家,如下图代码,没有使能中断:问题点:红色箭头。现在的程序是正常的。
如果把 1 移动到 2 的函数里面的最后位置,程序正常。
如果把 1 移动到 3 的函数里面的最开始位置,这是我想要的,但是程序异常。
正常时,显示屏的上半部分会整体的每秒变化一次颜色,同时显示“e”那里会不断的变化字符。
异常时,上部分的颜色不会变化,“e”那里变化正常,但是在屏幕的左上角有 3 个像数点会每秒不断的变化颜色,说明DMA已经发出了3个16比特的颜色数据后就被打断了。
请问是什么回事?


微信图片_20250330112646.jpg
微信图片_20250330113537.png
 楼主| panxiaoyi 发表于 2025-3-30 11:31 | 显示全部楼层
本帖最后由 panxiaoyi 于 2025-3-30 11:40 编辑

这个是正常的源代码

CH32V103R8T6_Basic.rar

622.38 KB, 下载次数: 1

 楼主| panxiaoyi 发表于 2025-3-30 11:51 | 显示全部楼层
标识1,那是颜色填充语句,我用DMA填充颜色到38400个像数,然后就不想死循环等待SPI完成,想在后面需要用到SPI时,再判断SPI是否空闲,没有空闲的话就死循环等待。

当然,在实际的应用中,我会先读取这个SPI完成标记位的,如果没有完成的话,我会跳过的,不会死循环等待的。

就本例来说,把1移动到2的结尾,或者3的开头,它们的硬件时序都是一样的,怎么移动到3的开头处,DMA就只传输了3个16比特的数据,就被终止了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

414

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部