找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2392|回复: 0
打印 上一主题 下一主题
收起左侧

STM8S103看门狗应用的程序源码

[复制链接]
跳转到指定楼层
楼主
ID:389674 发表于 2018-9-4 09:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/************ STM8S103 看门狗测试            ******/
/*芯片型号:STM8S103F3                            */
/*功能描述:STM8S103 看门狗测试                   */
/**************************************************/
#include <iostm8s103f3.h>
#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<count;i++)
for(j=0;j<120;j++);
}
/*************延时子程序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); //如果没有喂狗,就复位
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表