本帖最后由 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(),数据发送函数) |
刚开始用 STM32,还不是很熟悉,但是我想法是,官方的库是不应该牺牲速度的,我也只是用了发送函数。我用STC测试时,用模拟SPI驱动就明显看出刷屏慢,改硬件SPI后,用33Mhz的晶振,速度一下就上来了。现在用这STM32驱动屏幕,这速度我就郁闷了,难不会一定要提高主时钟才行,SPI时钟再高,主时钟没上来也是不行!!!!
评分
查看全部评分
刷屏速度慢也有好几个因素的。主频肯定开最高,比较执行代码也是要时间的;SPI时钟也尽量提高,只要在器件规格范围之内就好了;HAL库在底层效率方面确实要比较标准库要差一点,但是为了高端兼容性,通用性。追求速度的话直接用寄存器。如果还不够的话,把CPU腾出来,用DMA上去干更快。
评分
查看全部评分
我再仔细检查一下,用的是 STM32F100C8, 系统时钟我是在CubeMX 配置的,最高支持是24M
了解,我现在时同一块屏幕,用STM32和STC驱动,都是硬件SPI,刷屏函数也一样,就是MCU主频不同,现在是STM32是24Mhz, STC8a是33Mhz , STM32的刷屏效果比STC慢