Huang0000 发表于 2019-7-19 13:51:33

STM32 24Mhz 驱动128*128 (ST7735)TFT液晶屏

本帖最后由 Huang0000 于 2019-7-21 10:20 编辑

STM32 24Mhz (基于CubeMX HAL库)硬件SPI驱动128*128 (ST7735)TFT液晶屏,示波器测SPI的时钟可达12Mhz, 但很明显看到从上到下的刷屏现象; 宏晶STC8A,外挂33Mhz时钟,硬件SPI驱动同一个屏幕,测得SPI时钟才5Mhz,两者对比 刷屏速度明显比 STM32快,测试了两天分析不出原因,不知有没朋友有相关的测试经验。请教一下。(SPI 两线制通讯,仅用到HAL库的HAL_SPI_Transmit(),数据发送函数)

ksyxt0700379 发表于 2019-7-19 14:05:55

感谢分享,学习啦

Huang0000 发表于 2019-7-19 14:10:20

SPI 两线制通讯,仅用到HAL库的HAL_SPI_Transmit(),数据发送函数

す疯Ⅱ恒す 发表于 2019-7-19 14:27:49

直接用寄存器操作了。肯定要快不少的。

Huang0000 发表于 2019-7-19 14:47:23

す疯Ⅱ恒す 发表于 2019-7-19 14:27
直接用寄存器操作了。肯定要快不少的。

刚开始用 STM32,还不是很熟悉:),但是我想法是,官方的库是不应该牺牲速度的,我也只是用了发送函数。我用STC测试时,用模拟SPI驱动就明显看出刷屏慢,改硬件SPI后,用33Mhz的晶振,速度一下就上来了。现在用这STM32驱动屏幕,这速度我就郁闷了,难不会一定要提高主时钟才行,SPI时钟再高,主时钟没上来也是不行!!!!

3111272 发表于 2019-7-19 15:00:12

这个屏,我有玩过,我记得手册上说的是这个屏频率应该不至于你测量的这么低,我是用的硬件SPI。楼主可以从两个渠道获取例程。第一个楼主可以某宝搜索中景园,我是在那买的,提供例程。第二个 正点原子有一个潘多拉的开发板也有例程可以看看。

wenyangzeng 发表于 2019-7-19 15:11:39

低端的STM32F0的主频也达到48MHZ,不知楼主使用哪款芯片主频只有24MHZ?检查一下代码看看是否系统时钟频率没有正确配置。

す疯Ⅱ恒す 发表于 2019-7-19 15:30:09

Huang0000 发表于 2019-7-19 14:47
刚开始用 STM32,还不是很熟悉,但是我想法是,官方的库是不应该牺牲速度的,我也只是用了发送函数。我 ...

刷屏速度慢也有好几个因素的。主频肯定开最高,比较执行代码也是要时间的;SPI时钟也尽量提高,只要在器件规格范围之内就好了;HAL库在底层效率方面确实要比较标准库要差一点,但是为了高端兼容性,通用性。追求速度的话直接用寄存器。如果还不够的话,把CPU腾出来,用DMA上去干更快。

Huang0000 发表于 2019-7-19 15:31:58

wenyangzeng 发表于 2019-7-19 15:11
低端的STM32F0的主频也达到48MHZ,不知楼主使用哪款芯片主频只有24MHZ?检查一下代码看看是否系统时钟频率没 ...

我再仔细检查一下,用的是 STM32F100C8, 系统时钟我是在CubeMX 配置的,最高支持是24M

Huang0000 发表于 2019-7-19 15:38:28

3111272 发表于 2019-7-19 15:00
这个屏,我有玩过,我记得手册上说的是这个屏频率应该不至于你测量的这么低,我是用的硬件SPI。楼主可以从 ...

了解,我现在时同一块屏幕,用STM32和STC驱动,都是硬件SPI,刷屏函数也一样,就是MCU主频不同,现在是STM32是24Mhz, STC8a是33Mhz , STM32的刷屏效果比STC慢
页: [1] 2
查看完整版本: STM32 24Mhz 驱动128*128 (ST7735)TFT液晶屏