STM8S103 看门狗应用
/*芯片型号:STM8S103F3 */
/*功能描述:STM8S103 看门狗测试 */
/*作者: ClimberWin */
/*编写时间:2013.12.10 */
/*内部晶振 */
/**************************************************/
#include
#define uint unsigned int
#define uchar unsigned char
#define LED PC_ODR_ODR5 //输出LED控制口
void delayms(unsigned int count);//延时程序
void IO_config(void); //端口配置
/***************延时子程序start****************/
void delayms(unsigned int count)
{
unsigned int i,j;
for(i=0;i
}
/*************延时子程序end*****************/
void IO_config(void)
{
CLK_CKdivR = 0x08; //内部8M
PC_DDR = 0x20; // PC5为输出,其它全为输入
PC_CR1 = 0xFF; // 设置PC5推挽输出,其它输入IO端口上拉使能
PC_CR2 = 0x00;
}
int main(void)
{
uchar i;
IO_config();//端口初始化
LED=0;
IWDG_KR = 0xCC; //当IWDG_KR被写入数值0xCC,独立看门狗被启动了
IWDG_KR = 0x55; //解除 PR 及 RLR 的写保护
IWDG_RLR = 0xff; //看门狗计数器重装载数值
IWDG_PR = 0x06; //分频系数为256,最长超时时间为:1.02S
IWDG_KR = 0xAA; //恢复 PR 及 RLR 的写保护状态
for(i=0;i<10;i++)
{
delayms(500);
IWDG_KR = 0xAA; //刷新IWDG(喂狗)。每当KEY_REFRESH的数值(0xAA)写入到IWDG_KR寄存器时,
//独立看门狗将用IWDG_RLR的数值刷新计数器的内容,从而避免了产生看门狗的复位。
}
LED=1;
while(1); //如果没有喂狗,就复位
}
STM8S103看门 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)