打印

C8051的程序编译没问题,但就是执行不了

[复制链接]
3717|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
客串流氓|  楼主 | 2013-9-12 21:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机:C8051f340
开发环境:keil 9.0
问题:有好几种情况发生
1、C8051的程序编译没问题,但就是执行不了,程序跑不到main里面去
2、编译通过了,也可以执行,但有时候申请一个变量就变成上面那种情况,有时候只是在程序里面多了一条语句也会出现上面一种情况。
3、我调试的时候指针会乱跳,乱跳是什么一种情况会会发生


蛋疼啊!



论坛上有一个帖子跟我的情况很像,https://bbs.21ic.com/icview-300386-1-1.html   
但是这么些年过去了,还是没人回答他


求高手指点一二

相关帖子

沙发
受不了了| | 2013-9-12 21:29 | 只看该作者
点灯,最简单也是最有效的方法

使用特权

评论回复
板凳
ayb_ice| | 2013-9-13 07:54 | 只看该作者
狗咬人了,
不要说狗已经关了

使用特权

评论回复
地板
3htech| | 2013-9-13 08:20 | 只看该作者
C8051,一上电,看门狗就是运行的。而且溢出时间比较短。
可能是你的程序里面有比较多的全局变量,并且全局变量赋了初值。全局变量赋初值是在main函数之前进行的。所以有可能引起看门狗溢出了。就进不了中断了。

你可以试试,把全局变量的初值去掉,看看能不能跑到main里面去。

使用特权

评论回复
5
w522930954| | 2013-9-13 08:47 | 只看该作者
进main之前启动文件里面先关狗

使用特权

评论回复
6
ipman| | 2013-9-14 20:43 | 只看该作者
main之前有还有初始化代码,可能对某个时钟作了有效性判断阻塞了

使用特权

评论回复
7
shcshc1234| | 2013-9-14 22:43 | 只看该作者
我又一次是软件仿真
程序指针进了main函数后还能跳出去。。。
貌似编译器抽风了

使用特权

评论回复
8
ayb_ice| | 2013-9-15 14:15 | 只看该作者
shcshc1234 发表于 2013-9-14 22:43
我又一次是软件仿真
程序指针进了main函数后还能跳出去。。。
貌似编译器抽风了

都说狗咬人了

使用特权

评论回复
9
handlike| | 2013-9-15 15:10 | 只看该作者
c8051上电后默认看门狗是开放的,先关了它。这点和其它的MCU不一样

使用特权

评论回复
10
烟花不堪剪| | 2013-9-15 16:05 | 只看该作者
1.先关看门狗,楼上各位已经讲过了
2.外部变量(xdata)不能初始化
3.定义外部变量空间的数组时,有时编译器会把它放到0地址开始处,这样数组名就成了常空指针,继而程序运行会出问题

使用特权

评论回复
11
NE5532| | 2013-9-15 16:25 | 只看该作者
楼主啊,谁给你说的程序能编译通过就能正常运行的啊??

使用特权

评论回复
12
客串流氓|  楼主 | 2013-9-17 14:46 | 只看该作者
此问题已经解决   确实如:

ayb_ice
3htech
w522930954
handlike
烟花不堪剪

这几位仁兄说的一样,是看门狗问题,小弟实行的是  w522930954    的建议,确实解决了这个,问题,感谢这位大哥,和其他热心的大哥们(吐槽:虽然没有大姐,IT男人的悲剧) 帮助  

使用特权

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

本版积分规则

7

主题

20

帖子

0

粉丝