发新帖我要提问
12
返回列表
打印

C8051F340的问题

[复制链接]
楼主: luowei2651
手机看帖
扫描二维码
随时随地手机跟帖
21
lhj200304| | 2009-12-22 11:22 | 只看该作者 回帖奖励 |倒序浏览
把狗关了。我也被狗咬过

使用特权

评论回复
22
luowei2651|  楼主 | 2009-12-22 11:50 | 只看该作者
是的,20楼所说的情况,已经解决,谢谢各位!!!!!

使用特权

评论回复
23
xlsbz| | 2009-12-22 21:11 | 只看该作者
这个问题以前在论坛有人问过!

使用特权

评论回复
24
草履虫| | 2009-12-22 22:01 | 只看该作者
1. 我用51类的单片机,从来就不用他的那个startup.a51文件, 直接把那个东西删除后,自已写. 不用管那些东西.
2. 我没有研究过startup.a51这个文件, 只是猜想,这段代码只是启动的一些初始化设置, 可以自已写主程序将需要的寄存器初始化.以前的KEIL是没有的. 现在有了,也不要太关心删除它有问题.
这样的话,你的那个程序就应该没有问题了.
void main(void)
{
xxx_init();//自己写的初始化代码, 只需要初始化自已用的内存和寄存器就行了.
while(1){
//客户代码
}
}
以上是个人看法. 有问题请大家更正.

使用特权

评论回复
25
Down_Free| | 2009-12-23 09:54 | 只看该作者
程序最开始添加下面2句话试试看,就是用程序来关闭看门狗!
   WDTCN = 0xDE;                       // Disable watchdog timer
   WDTCN = 0xAD;

使用特权

评论回复
26
match07| | 2009-12-24 11:34 | 只看该作者
340一直用的挺好的,出现这种情况,看看是不是看门狗出问题了。340的看门狗默认是打开的,在初始化程序时应该先把看门狗关掉,初始化完成后再打开。

使用特权

评论回复
27
wlzts110| | 2009-12-24 15:32 | 只看该作者
Silabs IDE中默认的所有全局变量都是在进入main之前完成的,wdt 上电默认是打开的,如果全局变量太多,初始化时间会很长,进入main函数前wdt已经溢出了,导致重复复位。把全局变量的初始化放到main中试试看。

使用特权

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

本版积分规则