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

[复制链接]
4318|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里面去。
w522930954 发表于 2013-9-13 08:47 | 显示全部楼层
进main之前启动文件里面先关狗
ipman 发表于 2013-9-14 20:43 | 显示全部楼层
main之前有还有初始化代码,可能对某个时钟作了有效性判断阻塞了
shcshc1234 发表于 2013-9-14 22:43 | 显示全部楼层
我又一次是软件仿真
程序指针进了main函数后还能跳出去。。。
貌似编译器抽风了

ayb_ice 发表于 2013-9-15 14:15 | 显示全部楼层
shcshc1234 发表于 2013-9-14 22:43
我又一次是软件仿真
程序指针进了main函数后还能跳出去。。。
貌似编译器抽风了

都说狗咬人了
handlike 发表于 2013-9-15 15:10 | 显示全部楼层
c8051上电后默认看门狗是开放的,先关了它。这点和其它的MCU不一样
烟花不堪剪 发表于 2013-9-15 16:05 | 显示全部楼层
1.先关看门狗,楼上各位已经讲过了
2.外部变量(xdata)不能初始化
3.定义外部变量空间的数组时,有时编译器会把它放到0地址开始处,这样数组名就成了常空指针,继而程序运行会出问题
NE5532 发表于 2013-9-15 16:25 | 显示全部楼层
楼主啊,谁给你说的程序能编译通过就能正常运行的啊??
 楼主| 客串流氓 发表于 2013-9-17 14:46 | 显示全部楼层
此问题已经解决   确实如:

ayb_ice
3htech
w522930954
handlike
烟花不堪剪

这几位仁兄说的一样,是看门狗问题,小弟实行的是  w522930954    的建议,确实解决了这个,问题,感谢这位大哥,和其他热心的大哥们(吐槽:虽然没有大姐,IT男人的悲剧) 帮助  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

20

帖子

0

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