求助,PIC单片机不停重启

2019-03-25 19:53发布

我的程序就初始化了一下串口,

在主函数中输出了一串字符,然后就进入死循环,

可是大概隔两三秒就重启一次,不停的重启,我没有加看门狗,

这可能是什么原因呢???

各位大侠帮帮忙啊,很急很急!!!
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
课程设计
1楼-- · 2019-03-27 13:45
虽然可能是别的原因导致的, 但是我还是建议lz考虑一下Watchdog的问题.
1. Maplab 有两个地方可以配置配置字,  一个是在IDE中,另一个可以在代码的开头. 这里面有关于Watchdog 的设置;
2. 有两种启动Watchdog 的方法, 一种是通过1中说到的配置字CONFIG中的WDTE位, 注意这里缺省是Enabled; 另外, 在WDTE位Disabled的情况下, 还是可以在软件中使能Watchdog的.  

另外, 我还是建议lz可以多读读芯片的文档, 尽管我觉得Microchip的文档不怎么样.   
yushulei
2楼-- · 2019-03-27 13:50
引用 13 楼 zyzhang365 的回复:
虽然可能是别的原因导致的, 但是我还是建议lz考虑一下Watchdog的问题.
1. Maplab 有两个地方可以配置配置字,  一个是在IDE中,另一个可以在代码的开头. 这里面有关于Watchdog 的设置;
2. 有两种启动Watchdog 的方法, 一种是通过1中说到的配置字CONFIG中的WDTE位, 注意这里缺省是Enabled; 另外, 在WDTE位Disabled的情况下, 还是可以在软件中使能Watchdog的.  

另外, 我还是建议lz可以多读读芯片的文档, 尽管我觉得Microchip…


PIC16F6xx的单片机中 寄存器 CONFIG 是13位,

在PIC16F6xx系列的头文件中,没有找到关于这个寄存器的定义,只有一句

#define CONFIG_ADDR  0x2007

我对 CONFIG_ADDR  0x2007 赋值  CONFIG_ADDR  0x2007 = 0x3030

就会报错: only lvaluse may be assigned to or modified

请问应该怎样设置CONFIG寄存器呢?
ttkkxx
3楼-- · 2019-03-27 14:37
 精彩回答 2  元偷偷看……
GAOYUYOU
4楼-- · 2019-03-27 16:12
zyzhang365:

你好,用了你的方法,通过IDE 菜单->Configure->Configure Bits
关了看门狗,但是还是会重启?

请问一下,PIC怎么清看门狗呢?
我在数据手册上没有找到看门狗定的计数寄存器
在其他样例程序中,也没有看到清看门狗的程序,只有一句CLRWDT(),
没有能找到这个函数原型
qzl1125186
5楼-- · 2019-03-27 19:54
你烧程序时好像还有一些辅助位要处理的,6年没做pic,忘了叫什么了。
cln911
6楼-- · 2019-03-27 21:07
问题克服了,但还没有解决

通过Configure->Configure Bits 关看门狗,发现看门狗还是没有关掉,
现在只能开了看门狗,然后吧时间设置长一点

我的编译器不认识CLRWDT(),
也不认识 _asm
        CLRWDT;
         _endasm

不过它认识 #asm
        CLRWDT;
         #endasm

一周热门 更多>