[51单片机] 关于C8051f340禁狗的问题

[复制链接]
2582|12
 楼主| kolokolo 发表于 2018-8-18 11:49 | 显示全部楼层 |阅读模式
本帖最后由 kolokolo 于 2018-8-18 16:54 编辑

用c8051f340写的程序,发现在前面定义了两个float型变量,就进不了主程序。把这两个float型禁了,程序就正常了。是不是由于初始化时间长了,导致关门狗复位。网上说要在STARTUP.A51中禁狗,请教一下怎么在silab IDE中完成这个操作?
xuyaqi 发表于 2018-8-18 13:17 | 显示全部楼层
PCA0MD &= ~0x40;                    // WDTE = 0 (clear watchdog timer  enable)

评论

正解  发表于 2018-8-18 17:18
 楼主| kolokolo 发表于 2018-8-18 15:36 | 显示全部楼层
xuyaqi 发表于 2018-8-18 13:17
PCA0MD &= ~0x40;                    // WDTE = 0 (clear watchdog timer  enable)

不是这里加。是初始化的时候就复位了,后面主程序里的就没有用了。
我想问修改STARTUP.A51,是在C盘下面keil文件夹里面直接用记事本文件打开修改吗?
还是有其他方法?
我修改了怎么没有用呢?
xuyaqi 发表于 2018-8-18 16:03 | 显示全部楼层
把有关程序发出来看看,不明白你说的问题。
ningling_21 发表于 2018-8-18 17:19 | 显示全部楼层
kolokolo 发表于 2018-8-18 15:36
不是这里加。是初始化的时候就复位了,后面主程序里的就没有用了。
我想问修改STARTUP.A51,是在C盘下面k ...

怎么改的?
 楼主| kolokolo 发表于 2018-8-18 17:24 | 显示全部楼层
本帖最后由 kolokolo 于 2018-8-18 17:38 编辑

在C盘Keil\C51\LIB 下面打开STARTUP.A51,加入PCA0MD  DATA    0D9H ;ANL     PCA0MD, #NOT(040h) 。
怎么没有效果?是因为我使用的silab IDE,还需要什么步骤加入文件吗?
ningling_21 发表于 2018-8-18 18:30 | 显示全部楼层
kolokolo 发表于 2018-8-18 17:24
在C盘Keil\C51\LIB 下面打开STARTUP.A51,加入PCA0MD  DATA    0D9H ;ANL     PCA0MD, #NOT(040h) 。
怎么 ...


PCA0MD &= ~0x40;  

这个加在程序main函数最开始也是可以
 楼主| kolokolo 发表于 2018-8-18 18:52 | 显示全部楼层
ningling_21 发表于 2018-8-18 18:30
PCA0MD &= ~0x40;  

这个加在程序main函数最开始也是可以

现在是进不了main函数
ningling_21 发表于 2018-8-18 19:34 | 显示全部楼层
kolokolo 发表于 2018-8-18 18:52
现在是进不了main函数

仿真都进不了?
xbyu520 发表于 2018-8-20 08:36 | 显示全部楼层
这个问题,我之前也遇到过。问题原因:初始化的时间长了,导致看门狗动作了(因为这个单片机默认是enable看门狗的)。你如果不想在STARTUP.A51中修改,就要求在程序的开头尽量减少大量的变量初始化(也就是把初始化放到main里面)
xbyu520 发表于 2018-8-20 08:38 | 显示全部楼层
把初始化移动到main函数里面,就可以了
 楼主| kolokolo 发表于 2018-8-20 10:13 | 显示全部楼层
xbyu520 发表于 2018-8-20 08:36
这个问题,我之前也遇到过。问题原因:初始化的时间长了,导致看门狗动作了(因为这个单片机默认是enable看 ...

确实可以了,只是感觉有点不爽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

76

帖子

0

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