- /****************************************************************************************
- *
- * 文件名: 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;
- }
- }
|