你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
Huang0000 提问时间:2019-7-19 13:51 /
本帖最后由 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(),数据发送函数)
收藏 评论16 发布时间:2019-7-19 13:51

举报

16个回答
Huang0000 回答时间:2019-7-21 10:19:20
屏幕的速度终于上来了,用HAL库硬件SPI发送函数驱动屏幕,那速度太慢了。寄存器还不是很熟悉,就删库函数呗,当我从上到下开始把对驱动屏幕没用的删掉,但把
  /* Check the end of the transaction */
//  if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK)
//  {
//    hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
//  }
删掉后,速度澄澄的就上来了,仿真一看,时间刷屏时间减了80+个ms,原来刷一屏要156ms。
疯de_恒 回答时间:2019-7-19 15:30:09
Huang0000 发表于 2019-7-19 14:47
刚开始用 STM32,还不是很熟悉,但是我想法是,官方的库是不应该牺牲速度的,我也只是用了发送函数。我 ...

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

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

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

刚开始用 STM32,还不是很熟悉,但是我想法是,官方的库是不应该牺牲速度的,我也只是用了发送函数。我用STC测试时,用模拟SPI驱动就明显看出刷屏慢,改硬件SPI后,用33Mhz的晶振,速度一下就上来了。现在用这STM32驱动屏幕,这速度我就郁闷了,难不会一定要提高主时钟才行,SPI时钟再高,主时钟没上来也是不行!!!!
ksyxt0700379 回答时间:2019-7-19 14:05:55
感谢分享,学习啦
Huang0000 回答时间:2019-7-19 14:10:20
SPI 两线制通讯,仅用到HAL库的HAL_SPI_Transmit(),数据发送函数
疯de_恒 回答时间:2019-7-19 14:27:49
直接用寄存器操作了。肯定要快不少的。
3111272 回答时间:2019-7-19 15:00:12
这个屏,我有玩过,我记得手册上说的是这个屏频率应该不至于你测量的这么低,我是用的硬件SPI。楼主可以从两个渠道获取例程。第一个楼主可以某宝搜索中景园,我是在那买的,提供例程。第二个 正点原子有一个潘多拉的开发板也有例程可以看看。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

wenyangzeng 回答时间:2019-7-19 15:11:39
低端的STM32F0的主频也达到48MHZ,不知楼主使用哪款芯片主频只有24MHZ?检查一下代码看看是否系统时钟频率没有正确配置。
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慢
Huang0000 回答时间:2019-7-19 15:43:06
す疯Ⅱ恒す 发表于 2019-7-19 15:30
刷屏速度慢也有好几个因素的。主频肯定开最高,比较执行代码也是要时间的;SPI时钟也尽量提高,只要在器 ...

买了48Mhz 的M0 ,等到货了再测测看
wenyangzeng 回答时间:2019-7-19 15:44:42
本帖最后由 wenyangzeng 于 2019-7-19 15:46 编辑
Huang0000 发表于 2019-7-19 15:31
我再仔细检查一下,用的是 STM32F100C8, 系统时钟我是在CubeMX 配置的,最高支持是24M ...

STM32F100C8如果没有正确配置时钟频率,那默认使用HSI,系统时钟只有8MHZ,需要按下图配置使用HSI,系统时钟才能达到24MHZ

无标题5.png

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

Huang0000 回答时间:2019-7-19 15:49:28
wenyangzeng 发表于 2019-7-19 15:44
STM32F100C8如果没有正确配置时钟频率,那默认使用HSI,系统时钟只有8MHZ,需要按下图配置使用HSI,系统时 ...

是,我一开始就是默认8M,那更慢,后来我就改为24的配置了,速度稍提升,但是还是比不上我测试STC的刷屏速度
Huang0000 回答时间:2019-7-20 15:53:38
感谢,各位朋友的参与,经测试,更换48M的M0,在刷屏方面并没有明显的提升,问题应该是出在数据处理方面了,后续看看能不能处理好,再来分享了
12下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版