打印
[STC单片机]

红外遥控解码遇到的奇怪问题

[复制链接]
687|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zzh2118|  楼主 | 2020-10-21 12:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开发板(单片机):1#天祥-1c  STC89C52RC  2#亚博迷你 STC89C52      3#思修 STC8G
软件(电脑):         keil4(台式)                  keil5(笔记本)               keil5(笔记本)

同样的c程序红外线遥控解码 外部中断+定时器 读取高电平加低电平 总时间长度 串口显示
1#  不会出错      
2#会出错 按遥控器第一次 显示正常 例:00ff45ba 第二次及以后显示错误 例:例01ff45ba 所有按键都是如此。
把3#工程文件里的c文件拷贝到2#工程文件下修改编译后也出现同样错误。

说明 开发板和单片机没有问题 ,有问题的是串口程序。

花了一天时间终于解决,就是把优化等级由8改为0 后即可  但奇怪的是1#不会出错。3#原文件调整优化等级也不会出错。

使用特权

评论回复

相关帖子

沙发
rgjinxuan| | 2020-10-21 13:29 | 只看该作者
没遇到  

使用特权

评论回复
板凳
airwill| | 2020-11-9 21:54 | 只看该作者
有不少关于时序控制的程序,  经过优化会影响设置的时序的

使用特权

评论回复
评论
zzh2118 2020-11-10 08:09 回复TA
谢谢回复 
地板
cainiao518| | 2020-11-10 08:44 | 只看该作者
以空间换时间产生的差异

使用特权

评论回复
5
airwill| | 2020-11-11 21:17 | 只看该作者
编译器在优化的时候,  可能会打乱代码顺序, 可能会去掉一些延时性的 "无效" 代码

使用特权

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

本版积分规则

10

主题

207

帖子

3

粉丝