论坛风格切换切换到宽版
  • 3443阅读
  • 9回复

奇怪的现象 [复制链接]

上一主题 下一主题
离线BG1TRP
 
发帖
18096
只看楼主 倒序阅读 0楼 发表于: 2019-03-09
用C写了一段51单片机的代码,编译后运行正常。
简化了一些代码,逻辑关系未变,编译正常,但就是运行不正常。
只好在简化后的代码中加进去一些废话,再编译一下,运行正常了。
难道是代码的字节数等于某个值得时候,就不能正常编译了?
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线bd3qc
发帖
54
只看该作者 1楼 发表于: 2019-03-09
有的时候废话也有用,哈哈!

内容来自Android手机客户端

离线BD4DLN
发帖
5988
只看该作者 2楼 发表于: 2019-03-09
有的时候废话也有用,哈哈!
离线BG4FQD
发帖
3405
只看该作者 3楼 发表于: 2019-03-09
可能是时序造成的,没看到代码,不知道你的情况。
但多半是程序有问题。
别人吃饭我看着,别人睡觉我站着。
离线BG1TRP
发帖
18096
只看该作者 4楼 发表于: 2019-03-10
反复跟踪、逐条检查倒头大,发现还是程序的问题i。

在离这段代码很远的地方定义了一个数组,原来下标10,简化后由于变量减少而改为下标5;又在另一个地方调用了这个数组,却用到了数组[6]、数组[7],超出了数组定义的范围。

这个数组与这段代码无关。

把数组下标改为7后,程序运行正常。

这种错误编译系统为啥不报错哪?

经验教训:以后程序再出问题别抱怨其他的,就是自己毛病。
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线BG4FQD
发帖
3405
只看该作者 5楼 发表于: 2019-03-10
回 BG1TRP 的帖子
BG1TRP:反复跟踪、逐条检查倒头大,发现还是程序的问题i。
在离这段代码很远的地方定义了一个数组,原来下标10,简化后由于变量减少而改为下标5;又在另一个地方调用了这个数组,却用到了数组[6] .. (2019-03-10 07:28) 

如果你是显式的调用 数组[6],编译器会警告,但是不是error,不影响编译。
但如果你在程序里面数字下角标是动态变量,那么编译器没办法发现。

另外,keil的编译器警告默认没全开,你可以自己设置。
别人吃饭我看着,别人睡觉我站着。
离线BG1TRP
发帖
18096
只看该作者 6楼 发表于: 2019-03-10
回 BG4FQD 的帖子
BG4FQD:如果你是显式的调用 数组[6],编译器会警告,但是不是error,不影响编译。
但如果你在程序里面数字下角标是动态变量,那么编译器没办法发现。
另外,keil的编译器警告默认没全开,你可以自 .. (2019-03-10 13:35) 

谢谢指教

主函数定义的数组,固定下标,这段代码没有调用这个数组。

编译时没有警告。

我再去看看KEIL的设置。
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线BG1TRP
发帖
18096
只看该作者 7楼 发表于: 2019-04-06
又出一怪

调试旋转编码器,没有用中断,设为二定位一脉冲。发现如果旋转后不启动蜂鸣器,则一切正常,启动蜂鸣器则变成第一次转二定位一脉冲,再往后就是四定位一脉冲,一切不正常。

检查代码,没有发现错误设置,数据没有超限,不用编码器用按键时这段代码运行正常。关闭蜂鸣器这段代码运行就正常了。

再检查端口设置,蜂鸣器端口与编码器端口不重复,只不过由于是临时搭建的板子,各个端口未接上拉电阻。难道是这个原因?干扰有这么大吗?
英文版CW工具箱 TRP-BOX V6 (新版):https://www.hellocq.net/forum/read.php?tid=365349
三合一台咪套件
天线切换器套件
离线bg2rhe
发帖
124
只看该作者 8楼 发表于: 2019-04-08
还是花点钱上个逻辑分析仪吧,哪怕是几十元的USB逻辑分析仪也比摸黑调试程序效率高。
51单片机的端口驱动能力很弱,而且需事先设置好端口工作模式。
.---- ...-- ---.. ....- ----- ----. -.... ..... .---- -.... ....-
离线bh3pxn
发帖
754
只看该作者 9楼 发表于: 2019-04-23
哈哈哈,0 error(s),0 waring(s)