[STM32F1] 感觉STM32单片机运行速度很慢

[复制链接]
lcdi 发表于 2016-11-8 08:48 | 显示全部楼层
不用怀疑mcu,检查程序吧~
是一行一行出来的?每行中的字符没有一个一个蹦出来吧?或者说不是每列8个点8个点蹦出来的?
如果是,那可能指令输送很慢,检查mcu主频,和屏的通讯频率。
和屏通讯中会不会有什么中断经常发生而被打断?
 楼主| 昊430 发表于 2016-11-8 08:55 | 显示全部楼层
yifoliage 发表于 2016-11-8 00:05
把你的延时好好看看吧 现在51都比你说的快了

里面很少调用了延时啊,
 楼主| 昊430 发表于 2016-11-8 08:56 | 显示全部楼层

恩,应该是程序的问题,但是不知道在哪个方面去改进
wanyisq 发表于 2016-11-8 09:14 | 显示全部楼层
之前我也遇到过这种问题    最后发现液晶显示函数里有延时。。。。。。。
zhaoyu2005 发表于 2016-11-8 09:21 | 显示全部楼层
103RBT6驱动240128(T6963并行),看不到刷屏;100C8T6B驱动12864(ST7565 SPI)看不到刷屏,19264(KS0108 并口看不到刷屏,128128(UC1610 SPI)看不到刷屏,重点来了12864(ST7920 串口)图形模式能看到刷屏,比如显示多个16X32的数字,这个没办法,写入指令执行太慢了,但是也不至于一个清屏需要执行7 8秒,因为有清屏指令
m564522634 发表于 2016-11-8 09:27 | 显示全部楼层
ST 表示这他妈的这不是我的问题。
 楼主| 昊430 发表于 2016-11-8 09:33 | 显示全部楼层
lcdi 发表于 2016-11-8 08:48
不用怀疑mcu,检查程序吧~
是一行一行出来的?每行中的字符没有一个一个蹦出来吧?或者说不是每列8个点8个 ...

只有写了外部中断,但是没有去触发啊,只是单纯执行显示语句
 楼主| 昊430 发表于 2016-11-8 09:34 | 显示全部楼层
wanyisq 发表于 2016-11-8 09:14
之前我也遇到过这种问题    最后发现液晶显示函数里有延时。。。。。。。

显示函数也看过了,里面没有延时,而且是有时候像刷屏一样,有时候正常一次全显示出来了
 楼主| 昊430 发表于 2016-11-8 09:35 | 显示全部楼层
zhaoyu2005 发表于 2016-11-8 09:21
103RBT6驱动240128(T6963并行),看不到刷屏;100C8T6B驱动12864(ST7565 SPI)看不到刷屏,19264(KS0108 ...

查看了下程序的大小
Program Size: Code=7440 RO-data=372 RW-data=2660 ZI-data=1332  
RW是不是有些大?

评论

净往没用的地方关注,你挂上jlink调试下不就知道了  发表于 2016-11-8 09:53
 楼主| 昊430 发表于 2016-11-8 09:36 | 显示全部楼层
m564522634 发表于 2016-11-8 09:27
ST 表示这他妈的这不是我的问题。

 楼主| 昊430 发表于 2016-11-8 10:07 | 显示全部楼层
昊430 发表于 2016-11-8 09:35
查看了下程序的大小
Program Size: Code=7440 RO-data=372 RW-data=2660 ZI-data=1332  
RW是不是有些大 ...

调试时候,执行个清屏函数就是个一个语句,在所有的地方写入0x00数据,大概需要五六秒,就是用的两层for循环,里面也没有延时,
Ketose 发表于 2016-11-8 10:23 | 显示全部楼层
楼主敢把代码贴出来让大家瞻仰一下,可否?
mcuzone 发表于 2016-11-8 10:51 | 显示全部楼层
1,明确一下接口;
2,上示波器观察一下实际时钟,如果是IO模拟的接口,看一下IO的翻转速度,然后看一下代码的反汇编,很多IO操作的代码都会被插入一大堆的延时,一定要确认c翻译成汇编后的代码长度;
hzt1234hf 发表于 2016-11-8 11:13 | 显示全部楼层
一般说硬件不行的都是软件有问题,这是真理啊
 楼主| 昊430 发表于 2016-11-8 11:24 | 显示全部楼层
Ketose 发表于 2016-11-8 10:23
楼主敢把代码贴出来让大家瞻仰一下,可否?

代码比较长,而且感觉不是显示功能部分的原因,是代码其他地方在影响
 楼主| 昊430 发表于 2016-11-8 11:46 | 显示全部楼层
好像是设置了太多的全局变量,但是还不确定,对单片机掌握得很不熟练
lanjackg2003 发表于 2016-11-8 11:55 | 显示全部楼层
ST:怪我咯~~
小曾1220 发表于 2016-11-8 12:04 | 显示全部楼层
昊430 发表于 2016-11-7 15:06
会是程序的大小造成的吗?编译信息是这样
Program Size: Code=18184 RO-data=1032 RW-data=2660 ZI-data=15 ...

大道至简 发表于 2016-11-8 12:25 | 显示全部楼层
怎么可能
gx_huang 发表于 2016-11-8 12:31 | 显示全部楼层
以前驱动QVGA的彩色LCD,也就是320*240的,用STC的1时钟的MCU,和STM32的,感觉速度差不多的,都是GPIO模拟的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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