打印
[STM32F1]

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

[复制链接]
楼主: 昊430
手机看帖
扫描二维码
随时随地手机跟帖
41
lcdi| | 2016-11-8 08:48 | 只看该作者 回帖奖励 |倒序浏览
不用怀疑mcu,检查程序吧~
是一行一行出来的?每行中的字符没有一个一个蹦出来吧?或者说不是每列8个点8个点蹦出来的?
如果是,那可能指令输送很慢,检查mcu主频,和屏的通讯频率。
和屏通讯中会不会有什么中断经常发生而被打断?

使用特权

评论回复
42
昊430|  楼主 | 2016-11-8 08:55 | 只看该作者
yifoliage 发表于 2016-11-8 00:05
把你的延时好好看看吧 现在51都比你说的快了

里面很少调用了延时啊,

使用特权

评论回复
43
昊430|  楼主 | 2016-11-8 08:56 | 只看该作者

恩,应该是程序的问题,但是不知道在哪个方面去改进

使用特权

评论回复
44
wanyisq| | 2016-11-8 09:14 | 只看该作者
之前我也遇到过这种问题    最后发现液晶显示函数里有延时。。。。。。。

使用特权

评论回复
45
zhaoyu2005| | 2016-11-8 09:21 | 只看该作者
103RBT6驱动240128(T6963并行),看不到刷屏;100C8T6B驱动12864(ST7565 SPI)看不到刷屏,19264(KS0108 并口看不到刷屏,128128(UC1610 SPI)看不到刷屏,重点来了12864(ST7920 串口)图形模式能看到刷屏,比如显示多个16X32的数字,这个没办法,写入指令执行太慢了,但是也不至于一个清屏需要执行7 8秒,因为有清屏指令

使用特权

评论回复
46
m564522634| | 2016-11-8 09:27 | 只看该作者
ST 表示这他妈的这不是我的问题。

使用特权

评论回复
47
昊430|  楼主 | 2016-11-8 09:33 | 只看该作者
lcdi 发表于 2016-11-8 08:48
不用怀疑mcu,检查程序吧~
是一行一行出来的?每行中的字符没有一个一个蹦出来吧?或者说不是每列8个点8个 ...

只有写了外部中断,但是没有去触发啊,只是单纯执行显示语句

使用特权

评论回复
48
昊430|  楼主 | 2016-11-8 09:34 | 只看该作者
wanyisq 发表于 2016-11-8 09:14
之前我也遇到过这种问题    最后发现液晶显示函数里有延时。。。。。。。

显示函数也看过了,里面没有延时,而且是有时候像刷屏一样,有时候正常一次全显示出来了

使用特权

评论回复
49
昊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是不是有些大?

使用特权

评论回复
评论
zhaoyu2005 2016-11-8 09:53 回复TA
净往没用的地方关注,你挂上jlink调试下不就知道了 
50
昊430|  楼主 | 2016-11-8 09:36 | 只看该作者
m564522634 发表于 2016-11-8 09:27
ST 表示这他妈的这不是我的问题。

使用特权

评论回复
51
昊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循环,里面也没有延时,

使用特权

评论回复
52
Ketose| | 2016-11-8 10:23 | 只看该作者
楼主敢把代码贴出来让大家瞻仰一下,可否?

使用特权

评论回复
53
mcuzone| | 2016-11-8 10:51 | 只看该作者
1,明确一下接口;
2,上示波器观察一下实际时钟,如果是IO模拟的接口,看一下IO的翻转速度,然后看一下代码的反汇编,很多IO操作的代码都会被插入一大堆的延时,一定要确认c翻译成汇编后的代码长度;

使用特权

评论回复
54
hzt1234hf| | 2016-11-8 11:13 | 只看该作者
一般说硬件不行的都是软件有问题,这是真理啊

使用特权

评论回复
55
昊430|  楼主 | 2016-11-8 11:24 | 只看该作者
Ketose 发表于 2016-11-8 10:23
楼主敢把代码贴出来让大家瞻仰一下,可否?

代码比较长,而且感觉不是显示功能部分的原因,是代码其他地方在影响

使用特权

评论回复
56
昊430|  楼主 | 2016-11-8 11:46 | 只看该作者
好像是设置了太多的全局变量,但是还不确定,对单片机掌握得很不熟练

使用特权

评论回复
57
lanjackg2003| | 2016-11-8 11:55 | 只看该作者
ST:怪我咯~~

使用特权

评论回复
58
小曾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 ...

使用特权

评论回复
59
大道至简| | 2016-11-8 12:25 | 只看该作者
怎么可能

使用特权

评论回复
60
gx_huang| | 2016-11-8 12:31 | 只看该作者
以前驱动QVGA的彩色LCD,也就是320*240的,用STC的1时钟的MCU,和STM32的,感觉速度差不多的,都是GPIO模拟的。

使用特权

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

本版积分规则