[技术问答]

HC32L196 通过SPI如何驱动ST7789芯片?

[复制链接]
1213|43
手机看帖
扫描二维码
随时随地手机跟帖
junzheng|  楼主 | 2022-10-16 20:56 | 显示全部楼层 |阅读模式
使用ST7789v 4-line serial interface Ⅰ,HC32L196硬件SPI0(PA4\5\6\7),始终无法驱动ST7789,哪位大侠有办法?

使用特权

评论回复
毛大人跟班| | 2022-10-17 11:06 | 显示全部楼层
参考ST的

使用特权

评论回复
查询无结果| | 2022-10-17 18:03 | 显示全部楼层
等有时间我帮你试试,我手上只有HC32L130板子,ST7789的液晶屏倒是有

使用特权

评论回复
junzheng|  楼主 | 2022-10-18 10:14 | 显示全部楼层
谢谢诸位!

使用特权

评论回复
junzheng|  楼主 | 2022-10-18 10:23 | 显示全部楼层
查询无结果 发表于 2022-10-17 18:03
等有时间我帮你试试,我手上只有HC32L130板子,ST7789的液晶屏倒是有

使用特权

评论回复
查询无结果| | 2022-10-19 15:49 | 显示全部楼层
看了下l130和l196的SPI应该是一样的,你试试能不能用,我试了可以驱动了

hc32l130_uart_st7789.rar

262.73 KB

使用特权

评论回复
junzheng|  楼主 | 2022-10-20 16:04 | 显示全部楼层
本帖最后由 junzheng 于 2022-10-20 16:05 编辑
查询无结果 发表于 2022-10-19 15:49
看了下l130和l196的SPI应该是一样的,你试试能不能用,我试了可以驱动了

非常感谢!可不知什么原因。仍然不行。我用PA4\5\6\7 模拟SPI发送可以驱动,但这个方法速度太慢。

使用特权

评论回复
评论
junzheng 2022-10-20 21:50 回复TA
@查询无结果 :怎么发给你? 
查询无结果 2022-10-20 17:50 回复TA
方便的话把你的SPI驱动ST7789程序发一下,帮你看一下 
junzheng|  楼主 | 2022-10-20 21:49 | 显示全部楼层
查询无结果 发表于 2022-10-19 15:49
看了下l130和l196的SPI应该是一样的,你试试能不能用,我试了可以驱动了

怎么发给你?

使用特权

评论回复
查询无结果| | 2022-10-20 22:46 | 显示全部楼层
junzheng 发表于 2022-10-20 21:49
怎么发给你?

方便的话直接放这个链接吧,不便的话你留个qq我加你

使用特权

评论回复
junzheng|  楼主 | 2022-10-21 08:11 | 显示全部楼层
查询无结果 发表于 2022-10-20 22:46
方便的话直接放这个链接吧,不便的话你留个qq我加你

链接:https://pan.baidu.com/s/135fMuahG9DIHnn09FI1ylA
提取码:9827
--来自百度网盘超级会员V3的分享

帮我看看。为方便调试所有代码都在main里。有点儿奇怪的是硬件spi的clk、mosi输出电压是2.38v,gpio模拟SPI的clk、mosi输出电压是2.9v。

使用特权

评论回复
查询无结果| | 2022-10-21 08:57 | 显示全部楼层
junzheng 发表于 2022-10-21 08:11
链接:https://pan.baidu.com/s/135fMuahG9DIHnn09FI1ylA
提取码:9827
--来自百度网盘超级会员V3的分 ...

程序帮你看了一下,你没配置PLL,直接用内部4M晶振工作,SPI只有2M,这种情况我这里试过,不会刷屏,提升MCU主频。SPI极性和相位配置也改一下试试,CPHA=1,CPOL=1。

使用特权

评论回复
junzheng|  楼主 | 2022-10-21 09:11 | 显示全部楼层
查询无结果 发表于 2022-10-21 08:57
程序帮你看了一下,你没配置PLL,直接用内部4M晶振工作,SPI只有2M,这种情况我这里试过,不会刷屏,提升 ...

可是,不理解为何GPIO模拟SPI,速度更慢,不知为何却可以。

使用特权

评论回复
查询无结果| | 2022-10-21 09:14 | 显示全部楼层
junzheng 发表于 2022-10-21 09:11
可是,不理解为何GPIO模拟SPI,速度更慢,不知为何却可以。

你改改spi极性和相位试试

使用特权

评论回复
junzheng|  楼主 | 2022-10-21 09:52 | 显示全部楼层
查询无结果 发表于 2022-10-21 08:57
程序帮你看了一下,你没配置PLL,直接用内部4M晶振工作,SPI只有2M,这种情况我这里试过,不会刷屏,提升 ...

我试过了,仍然不行。令人迷惑的是还是PA04/05/06/07这四条线,用软件模拟SPI就正常刷屏。改成硬件反倒不行了。

使用特权

评论回复
查询无结果| | 2022-10-21 10:27 | 显示全部楼层
junzheng 发表于 2022-10-21 09:52
我试过了,仍然不行。令人迷惑的是还是PA04/05/06/07这四条线,用软件模拟SPI就正常刷屏。改成硬件反倒不 ...

你改一下时钟,提升下主频,我手上没有L19X系列的板子,不然我都想帮你写了

使用特权

评论回复
评论
wubangmi 2022-10-21 11:29 回复TA
你直接帮他改成L19x的不就行了吗?我看着都累,另外我看了下你的代码都是用寄存器写的,要改的地方很少。 
junzheng|  楼主 | 2022-10-21 21:29 | 显示全部楼层
查询无结果 发表于 2022-10-21 10:27
你改一下时钟,提升下主频,我手上没有L19X系列的板子,不然我都想帮你写了 ...

全都试过,除了模拟SPI能刷屏,其它都不行。我开始怀疑屏是不是有问题了。

使用特权

评论回复
junzheng|  楼主 | 2022-10-21 21:30 | 显示全部楼层
查询无结果 发表于 2022-10-21 09:14
你改改spi极性和相位试试

四种组合都试过来了,都不行。

使用特权

评论回复
wengh2016| | 2022-11-1 10:22 | 显示全部楼层
为什么不使用并口的lcd呢?并口的刷新速度非常快

使用特权

评论回复
updownq| | 2022-11-1 10:35 | 显示全部楼层
d一般是SPI总线的,做好总线驱动程序然后就可以操作oled寄存器了

使用特权

评论回复
wilhelmina2| | 2022-11-1 10:52 | 显示全部楼层
使用示波器测量信号看看是不是数据不正确呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则