[国产单片机] 合泰HT46F49E驱动一个LED灯,亮7秒关0.5秒不知是什么原因

[复制链接]
 楼主| zhengmingming2 发表于 2015-3-11 19:56 | 显示全部楼层 |阅读模式
程序我看了没什么问题,为什么LED灯几秒会闪一次呢?是不是建工程时哪个功能没关呢?望各位大师级的支个招.  程序如下:
#include "HT46F49E.h"
void main()
{
_pac=0x00;//从右向左数第一个为pa0
_pbc=0x00;//定义PB口为输出  0为输出 1为输入
_pbc=0x00;
_pcc=0x00;
_pdc=0x00;
while(1)
   {
    _pb2=0;//关制水灯
    _pb1=1;//开冲洗灯    就这个灯几秒闪一下
    _pb0=0;
    _pb3=0;
    _pb4=0;
    _pb5=0;
    _pb6=0; //关缺水灯
    _pb7=0;
    _pa=0x00;//关水满灯
    _pc=0x00;
    _pd=0x00;

    }

}
gx_huang 发表于 2015-3-12 13:31 | 显示全部楼层
WDT复位了?
 楼主| zhengmingming2 发表于 2015-3-12 14:11 | 显示全部楼层
我在建工程时把看门狗关闭,或在程序中加入一个看门狗程序,但我不明白的是看门狗一般1秒左右没清0就会产成复位,为什么合泰单片机7秒左右才产生一次复位呢?
gx_huang 发表于 2015-3-12 20:01 | 显示全部楼层
谁说WDT都是1S的?不同的MCU差别很大的。
 楼主| zhengmingming2 发表于 2015-3-14 13:25 | 显示全部楼层
那一不至于7秒才复一次位吧
gx_huang 发表于 2015-3-14 14:39 | 显示全部楼层
你先自己调试确认是否是WDT的问题。
这个WDT的时钟源如果是内部的WDT振荡器,典型是65US,如果是2的16次分频,溢出周期是4.3S。
但是这个内部振荡器有很大误差,有2倍的误差,最长是8.6S。
 楼主| zhengmingming2 发表于 2015-3-14 15:03 | 显示全部楼层
我在新建工程时反复测试终于通过了,WDT  (Enable)  ------WDT Clock Source   (Fsys/4)-----CLRWDT  (1instructions选2instructions会一直复位)----WDT time-out perivd  (2^13/f5这个选2^13复位时间最短 2^16复位时间最长)
现在工作一切正常,谢谢各位细心的指导
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

28

帖子

4

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