STM8L15x Standard Peripherals Drivers: stm8l15x_iwdg.c File Reference

STM8L15x/16x Standard Peripherals Drivers

STM8L15x Standard Peripherals Drivers

stm8l15x_iwdg.c File Reference

This file provides firmware functions to manage the following functionalities of the Independent watchdog (IWDG) peripheral:

  • Prescaler and Counter configuration
  • IWDG activation.
More...
#include "stm8l15x_iwdg.h"

Go to the source code of this file.

Functions

void IWDG_Enable (void)
 Enables IWDG (write access to IWDG_PR and IWDG_RLR registers disabled).
void IWDG_ReloadCounter (void)
 Reloads IWDG counter with value defined in the reload register (write access to IWDG_PR and IWDG_RLR registers disabled).
void IWDG_SetPrescaler (IWDG_Prescaler_TypeDef IWDG_Prescaler)
 Sets IWDG Prescaler value.
void IWDG_SetReload (uint8_t IWDG_Reload)
 Sets IWDG Reload value.
void IWDG_WriteAccessCmd (IWDG_WriteAccess_TypeDef IWDG_WriteAccess)
 Enables or disables write access to IWDG_PR and IWDG_RLR registers.

Detailed Description

This file provides firmware functions to manage the following functionalities of the Independent watchdog (IWDG) peripheral:

  • Prescaler and Counter configuration
  • IWDG activation.
Author:
MCD Application Team
Version:
V1.5.0
Date:
13-May-2011
  *  
  *          ===================================================================
  *                                     IWDG features
  *          ===================================================================
  *    
  *          The IWDG can be started by either software or hardware (configurable
  *          through option byte).
  *            
  *          The IWDG is clocked by its own dedicated low-speed clock (LSI) and
  *          thus stays active even if the main clock fails.
  *          Once the IWDG is started, the LSI is forced ON and cannot be disabled
  *          (LSI cannot be disabled too), and the counter starts counting down from 
  *          the reset value of 0xFF. When it reaches the end of count value (0x00)
  *          a system reset is generated.
  *          The IWDG counter should be reloaded at regular intervals to prevent
  *          an MCU reset.
  *                           
  *          The IWDG is implemented in the VDD voltage domain that is still functional
  *          in Halt and Active Halt mode depending on the configuration of the IWDG_HALT
  *          option byte. (IWDG reset can wake-up from Halt).          
  *            
  *          IWDGF flag in RST_SR register can be used to inform when a IWDG
  *          reset occurs.
  *            
  *          Min-max timeout value @38KHz (LSI): 0.10 ms / ~1.724s
  *          The IWDG timeout may vary due to LSI frequency dispersion. STM8L15x
  *          devices provide the capability to measure the LSI frequency (LSI clock
  *          connected internally to TIM2 CH1 input capture). The measured value
  *          can be used to have an IWDG timeout with an acceptable accuracy. 
  *          For more information, please refer to the STM8L15x Reference manual
  *          
  *                            
  *          ===================================================================
  *                                 How to use this driver
  *          ===================================================================
  *          1. Enable write access to IWDG_PR and IWDG_RLR registers using
  *             IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable) function
  *               
  *          2. Configure the IWDG prescaler using IWDG_SetPrescaler() function
  *            
  *          3. Configure the IWDG counter value using IWDG_SetReload() function.
  *             This value will be loaded in the IWDG counter each time the counter
  *             is reloaded, then the IWDG will start counting down from this value.
  *            
  *          4. Start the IWDG using IWDG_Enable() function, when the IWDG is used
  *             in software mode (no need to enable the LSI, it will be enabled
  *             by hardware)
  *             
  *          5. Then the application program must reload the IWDG counter at regular
  *             intervals during normal operation to prevent an MCU reset, using
  *             IWDG_ReloadCounter() function.      
  *          
  *  
Attention:

THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.

© COPYRIGHT 2011 STMicroelectronics

Definition in file stm8l15x_iwdg.c.

STM8S Firmware Library: Overview

 

 

 

For complete documentation on STM8L15x 8-bit microcontrollers platform visit www.st.com