[KungFu8位 MCU]

ChipON 看门狗休眠例程分享

[复制链接]
1148|7
手机看帖
扫描二维码
随时随地手机跟帖
yysforever|  楼主 | 2017-10-31 20:51 | 显示全部楼层 |阅读模式
本帖最后由 yysforever 于 2017-10-31 20:52 编辑
/****************************************************************************************
*
* 文件名: main.c
* 项目名: 22-WDT_IDLE_1
* 版 本: v1.0
* 日 期: 2016年05月31日 10时03分10秒
* 作 者: Administrator
* 程序说明:看门狗休眠唤醒参考例程,最长定时2.3S,看门狗无软开关。
* 适用芯片:KF8FXXX系列——KF8F2XX、KF8F3XX
*                         KF8SXXXX系列——KF8S210、KF8S310、KF8S10XX
****************************************************************************************/
#include<KF8S1011.h>
/****************************************************************************************
* 函数名:   init_mcu
* 函数功能:mcu初始化函数
* 入口参数:无
* 返回:       无
****************************************************************************************/
void init_mcu()
{
        /***时钟初始化****/
        OSCCTL = 0x70;          //设置为16M
        /***端口初始化****/
        TR0 = 0x08;                                //设置VPP P03端口为输入,P0其他I/O口为输出
        TR1 = 0x00;                                //设置P1端口为输出
        TR2 = 0x00;                                //设置P2端口为输出
        TR3 = 0x00;                                //设置P3端口为输出
        TR4 = 0x00;
        P0 = 0;
        P1 = 0;
        P2 = 0;
        P3 = 0;
        P4 = 0;
}
/****************************************************************************************
* 函数名:   init_WDT
* 函数功能:mcu初始化函数
* 入口参数:无
* 返回:       无
****************************************************************************************/
void init_WDT()
{
        PSA = 1;          //预分频器控制位,选择用于WDT
        /***分频比****/
        PS0 = 0;          //1:1分频,18ms定时
    PS1 = 0;
    PS2 = 0;
}
//主函数
void main()
{
        init_mcu();
        init_WDT();
        while(1)
        {
                _CWDT();
                P13=!P13;
                _NOP_();
                _NOP_();
                _IDLE();       // 进入睡眠状态
        }
}


yysforever|  楼主 | 2017-10-31 20:51 | 显示全部楼层
/****************************************************************************************
*
* 文件名: main.c
* 项目名: 22-WDT_IDLE_2
* 版 本: v1.0
* 日 期: 2016年05月31日 14时10分27秒
* 作 者: Administrator
* 程序说明:看门狗休眠唤醒参考例程,最长定时2.3S,看门狗可软件开关。
* 适用芯片:KF8TS23XX系列——KF8TS2302、KF8TS2308、KF8TS2310、KF8TS2314
*                         KF8TS24XX系列——KF8TS2402、KF8TS2408、KF8TS2410、KF8TS2414
*                         KF8VXXX系列——KF8V111、KF8V120、KF8V200、KF8V204、KF8V211、KF8V216、KF8V218、KF8V220
****************************************************************************************/
#include<KF8TS2410.h>
/****************************************************************************************
* 函数名:   init_mcu
* 函数功能:mcu初始化函数
* 入口参数:无
* 返回:       无
****************************************************************************************/
void init_mcu()
{
        /***时钟初始化****/
        OSCCTL = 0x70;          //设置为16M
        /***端口初始化****/
        TR0 = 0x08;                                //设置VPP P03端口为输入,P0其他I/O口为输出
        TR1 = 0x00;                                //设置P1端口为输出
        TR2 = 0x00;                                //设置P2端口为输出
        P0LR = 0;
        P1LR = 0;
        P2LR = 0;
        P0 = 0;
        P1 = 0;
        P2 = 0;
}
/****************************************************************************************
* 函数名:   init_WDT
* 函数功能:mcu初始化函数
* 入口参数:无
* 返回:       无
****************************************************************************************/
void init_WDT()
{
        PSA = 1;          //预分频器控制位,选择用于WDT
        /***分频比****/
        PS0 = 0;          //1:1分频,18ms定时
    PS1 = 0;
    PS2 = 0;
}
//主函数
void main()
{
        init_mcu();
        init_WDT();
        while(1)
        {

                P1LR3=!P1LR3;
                _NOP_();
                _NOP_();
                SWDTEN=1;
                _CWDT();
                _IDLE();       // 进入睡眠状态
                SWDTEN=0;
        }
}

使用特权

评论回复
yysforever|  楼主 | 2017-10-31 20:52 | 显示全部楼层
/****************************************************************************************
*
* 文件名: main.c
* 项目名: 22-WDT_IDLE_3
* 版 本: v1.0
* 日 期: 2016年05月31日 14时25分28秒
* 作 者: Administrator
* 程序说明:看门狗休眠唤醒参考例程,最长定时268S,看门狗可软件开关。
* 适用芯片:KF8FXXXX系列——KF8F2156、KF8F3156、KF8F4156、KF8F3155、KF8F4155、KF8F4158
*                         KF8TS25XX系列——KF8TS2508、KF8TS2510、KF8TS2514、KF8TS2516
*                         KF8TS27XX系列——KF8TS2708、KF8TS2710、KF8TS2714、KF8TS2716
*                         KF8VXXX系列——KF8V327、KF8V427、KF8V429
*                         KF8A3001
****************************************************************************************/
#include<KF8TS2716.h>
/****************************************************************************************
* 函数名:   init_mcu
* 函数功能:mcu初始化函数
* 入口参数:无
* 返回:       无
****************************************************************************************/
void init_mcu()
{
        /***时钟初始化****/
        OSCCTL = 0x60;          //设置为16M
        /***端口初始化****/
        TR0 = 0x04;                                //设置VPP P02端口为输入,P0其他I/O口为输出
        TR1 = 0x00;                                //设置P1端口为输出
        TR2 = 0x00;                                //设置P2端口为输出
        TR3 = 0x00;                                //设置P3端口为输出
        P0LR = 0;
        P1LR = 0;
        P2LR = 0;
        P3LR = 0;
        P0 = 0;
        P1 = 0;
        P2 = 0;
        P3 = 0;
}
/****************************************************************************************
* 函数名:   init_WDT
* 函数功能:mcu初始化函数
* 入口参数:无
* 返回:       无
****************************************************************************************/
void init_WDT()
{

        WDTPS =0xFB;          //看门狗定时器预分频1:65536
        PSA = 1;          //预分频器控制位,选择用于WDT
        /***分频比****/
        PS0 = 0;          //1:1分频,18ms定时
    PS1 = 0;
    PS2 = 0;
}
//主函数
void main()
{
        init_mcu();
        init_WDT();
        while(1)
        {
                P1LR3=!P1LR3;
                _NOP_();
                _NOP_();
                SWDTEN=1;
                _CWDT();
                _IDLE();       // 进入睡眠状态
                SWDTEN=0;
        }
}

使用特权

评论回复
zzzhui| | 2017-10-31 21:19 | 显示全部楼层
代码很整齐

使用特权

评论回复
engao| | 2017-11-20 15:33 | 显示全部楼层
也有外置的看门狗

使用特权

评论回复
haolaishi| | 2017-11-22 20:20 | 显示全部楼层
一般看门狗的定时时间设置为多长为好呢?

使用特权

评论回复
afgnhgrf| | 2017-11-23 13:34 | 显示全部楼层
这个好,设置的不好,导致老复位

使用特权

评论回复
zhiyy| | 2017-11-23 14:12 | 显示全部楼层
这个好,解决实际问题

使用特权

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

本版积分规则

20

主题

254

帖子

0

粉丝