stm8s_iwdg(独立看门狗)

2019-11-07来源: 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/ic479267.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MSP430G2553与MSP430F5336系列单片机总结[4]——比较器B的使用
下一篇:stm8 窗口看门狗应用

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

推荐阅读

STM8S003的GPIO模拟I2C切换输入输出的解决办法
刚开始学STM8,很多东西刚了解,正在做一个温湿度显示小板,就是使用I2C驱动SHT20传感器,并显示到数码管,数码管用的四位一体共阴数码管,STM8管脚有限,添加了一片TM1650做驱动,不过SHT20和TM1650都是用的I2C接口,由于对STM8硬件I2C还不了解,先打算用软件模拟,这就涉及到需要对GPIO做输入输出切换处理来检测ACK响应,刚开始,直接操作DDR寄存器,但是出现从输出切换到输入就会出现单片机死机,不解,查资料,得到一个解决办法,在输出状态时,可以不用切换到输入,我使用管脚D4,D5这两个管脚,这两个管脚比较特殊,就是真正开漏,在管脚描述为T,其它描述为HS(高吸收电流)。解决办法,将IO设置为开漏输出,外部
发表于 2019-11-11
STM8S103之IO复用
一、简介本文以STM8S103F3P6编程为例,介绍STM8S103F3P6如何引脚复用。二、实验平台电脑平台:Windows7 64位旗舰编译软件:IAR硬件平台:STM8S103F3P6三、版权声明四、实验前提1、在进行本文步骤前,请先安装IAR  EWSTM8-EV-1311版本;准备好STM8S103F3P6硬件平台。五、基础知识暂无六、源码地址暂无七、实验内容1.先阅读STM8S103F数据手册2.操作步骤以STM8S103F3P6的IO“PC6”为定时器1PWM输出为例:1)、配置定时器1为PWM输出void Init_Timer1(void){  GPIO_Init(GPIOC
发表于 2019-11-11
STM8S103之IO复用
STM8S_010_I2C读写EEPROM(硬件方式)
Ⅰ、写在前面相信看过前面那篇文章“更加深入理解I2C总线、协议及应用”的人对I2C都有一定的了解了。那篇文章是针对I2C,使用单片机IO模拟I2C方式实现读写操作。本文将讲述硬件I2C读写操作,也就是由处理器自身硬件的I2C实现时钟、数据的传输过程。Ⅱ、STM8硬件I2C知识STM8S的I2C模块不仅可以接收和发送数据,还可以在接收时将数据从串行转换成并行数据,在发送时将数据从并行转换成串行数据。可以开启或禁止中断。接口通过数据引脚(SDA)和时钟引脚(SCL)连接到I2C总线。允许连接到标准(最高100kHz)或快速(最高400kHz)的I2C总线。1.I2C的4种模式● 从设备发送模式● 从设备接收模式● 主设备发送模式
发表于 2019-11-09
stm8s105调试I2C记录
最近由于AR项目中调试LCOS需要用到STM8S105的mcu,本次主要是使用模拟I2C。1.IIC协议简介 IIC协议这里只做简要介绍,详细介绍可以百度了解,协议相对简单,主要有开始位,停止位,应答位,非应答位。开始位:当时钟为高,数据线由高变低停止位:当时钟位高,数据线由低变高。应答位:第9个时钟到来时,数据线为低。(这里第9个时钟,发送完一个字节,紧接着就是第9个时钟到来)非应答位,第9个时钟到来时,数据线为高。2.LCOS协议:1.发送数据:单数据发送: 开始位:写地址位(8bit):寄存器地址(16bit):数据(8bit):停止位多字节发送:开始位:写地址(8bit):寄存器地址(16bit):数据(8bit
发表于 2019-11-09
stm8s105调试I2C记录
STM8S103之GPIO
如何快速了解GPIO,查看Reference manual中GPIO章节,初步了解到GPIOGPIO输入分为:Floating Input和Input with pull-upGPIO输出分为:Open drain和pull-up(且pull-up时速率可以设置)GPIO复用功能如何选择,复用功能分为:Default alternate function和Alternate function after remap [optionbit]其中remap得知参考STM8S103的datasheet中的Option bytes,STM8S103中的Option bytes可以设置时钟,IO口的复用选择
发表于 2019-11-09
STM8S103之GPIO
STM8S MAX7219点阵模块驱动芯片程序
以下为.h文件:#ifndef __MAX7219_H#define __MAX7219_H#include "stm8s_gpio.h"#include "stm8s.h"#include <iostm8s103f3.h>#include <intrinsics.h>#include "tim1.h" #define uchar unsigned char#define uint  unsigned int#define count 8  void Init_MAX7219(void);void
发表于 2019-11-08
STM8S MAX7219点阵模块驱动芯片程序
小广播
何立民专栏 单片机及嵌入式宝典

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

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