stm8s_iwdg(独立看门狗)

2019-11-16来源: eefocus关键字:stm8s  iwdg  独立看门狗

//内部时钟源128Khz,硬件2分频=64khz


这里写代码片

IWDG_Initializes();     //初始化

IWDG_ReloadCounter();   //喂狗(重载计数值)

初始化流程:

void IWDG_Initializes(void)

{

  IWDG_Enable();                                 //使能看门狗

  IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);  //允许写分频值和重载值

  IWDG_SetPrescaler(IWDG_Prescaler_256);         //分频值

  IWDG_SetReload(250);                           //重载值(8位寄存器 最大255)

  IWDG_ReloadCounter();                          //重载计数值

}



函数体:

void IWDG_Enable(void)

{

  IWDG->KR = IWDG_KEY_ENABLE;//0xCC

}

void IWDG_WriteAccessCmd(IWDG_WriteAccess_TypeDef IWDG_WriteAccess)

{

  /* Check the parameters */

  assert_param(IS_IWDG_WRITEACCESS_MODE_OK(IWDG_WriteAccess));

  IWDG->KR = (uint8_t)IWDG_WriteAccess; /* Write Access 0x55 */

}

void IWDG_SetPrescaler(IWDG_Prescaler_TypeDef IWDG_Prescaler)

{

  /* Check the parameters */

  assert_param(IS_IWDG_PRESCALER_OK(IWDG_Prescaler));

  IWDG->PR = (uint8_t)IWDG_Prescaler;

}

void IWDG_SetReload(uint8_t IWDG_Reload)

{

  IWDG->RLR = IWDG_Reload;

}

void IWDG_ReloadCounter(void)

{

  IWDG->KR = IWDG_KEY_REFRESH;//0xAA

}

/** IWDG prescaler enumaration */

typedef enum

{

  IWDG_Prescaler_4   = (uint8_t)0x00, /*!< Used to set prescaler register to 4 */

  IWDG_Prescaler_8   = (uint8_t)0x01, /*!< Used to set prescaler register to 8 */

  IWDG_Prescaler_16  = (uint8_t)0x02, /*!< Used to set prescaler register to 16 */

  IWDG_Prescaler_32  = (uint8_t)0x03, /*!< Used to set prescaler register to 32 */

  IWDG_Prescaler_64  = (uint8_t)0x04, /*!< Used to set prescaler register to 64 */

  IWDG_Prescaler_128 = (uint8_t)0x05, /*!< Used to set prescaler register to 128 */

  IWDG_Prescaler_256 = (uint8_t)0x06  /*!< Used to set prescaler register to 256 */

} IWDG_Prescaler_TypeDef;

关键字:stm8s  iwdg  独立看门狗 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic480239.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8S使用AWU无法唤醒的问题的解决过程
下一篇:STM8S——8位基本定时器(TIM4)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM8S开发环境搭建IAR For STM8
/************************************************************************************************************************************ Name    : STM8S开发环境搭建IAR For STM8* Author  : MingMing* Release : 2013/12/29* Update  : 2013/12/29* E-mail  : clint.wang@foxmail.com
发表于 2019-12-05
STM8S开发环境搭建IAR For STM8
STM8S内部时钟切换问题解决
/************************************************************************************************************************************ Name    : STM8S内部时钟切换问题解决* Author  : MingMing* Release : 2013/12/28* Update  : 2013/12/29* E-mail  : clint.wang@foxmail.com
发表于 2019-12-05
STM8S内部时钟切换问题解决
STM8S存储器的读写操作
/************************************************************************************************************************************ Name    : STM8S存储器的读写操作* Author  : MingMing* Release : 2014/1/2* Update  : 2014/1/2* E-mail  : clint.wang@foxmail.com
发表于 2019-12-05
stm8s iar printf打印信息
串口通信正常我在程序中#include <stdio.h>int fputc(int ch, FILE *f)//STM8S105,printf函数重定向 {   while (!(UART2->SR&0x80));   UART2->DR=ch;  return ch; } 同时需要修改IAR的Projec t- >Options -> General Options -> Library Configuration中的Library 项由"Normal"改为"
发表于 2019-12-03
stm8s iar printf打印信息
STM8S 长按键识别
最近学习开发STM8S003 MCU,,刚入手这颗MCU,对很多功能不太了解,只能一边开发学习,记录一下学习过程。目前,需要实现KEY1按键长按3s进行关机,Linux下直接获取按键的开始时间戳和结束时间戳,可以直接确定按键的触发时间,目前MCU采用的是按键中断的方式,在中断触发后直接进入进入中断函数进行处理,根据定时器的特性,现在是采用方法如下: 将Tim1进行16分频,即频率为1Mhz,然后设置ARR(预装载计数器)为60000,即每次产生溢出时间为60ms, RCR(重复计数寄存器)为50,即 50 * 60 = 3000ms = 3s 后产生一个更新事件,而在按键中断函数中,在按键释放后,判断是否由此更新
发表于 2019-12-03
stm8s 定时器2测量脉冲宽度(单位 us)
void Init_Timer2(void){  GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_IN_PU_NO_IT);//输入 无中断  TIM2_TimeBaseInit(TIM2_PRESCALER_16,65536-1);       //16分频, 65ms 溢出  TIM2_Cmd(ENABLE);  }uint16_t TIM2_GetCapture(void){  /* Get the Capture  Register value */  uint16_t tmpccr = 0;&n
发表于 2019-12-02
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved