📄 stm32f10x_iwdg.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART 26/Dec/2008 18:23:38 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Stack alignment = 4 #
# Source file = F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_i #
# wdg.c #
# Command line = F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_i #
# wdg.c -lCN F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM #
# 3210E-EVAL\IAR\OS-Probe\Flash\List\ -o #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\Obj\ -z6 --no_unroll --no_inline #
# --no_tbaa --no_scheduling --debug --cpu_mode thumb #
# --endian little --cpu cortex-M3 --stack_align 4 -e #
# --fpu None --dlib_config "E:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 #
# Kickstart\arm\LIB\dl7mptnnl8n.h" -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ #
# ST\STM3210E-EVAL\IAR\OS-Probe\..\BSP\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\CPU\ST\STM32\inc\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-CPU\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-CPU\ARM-Cortex-M3\IAR #
# \ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E- #
# EVAL\IAR\OS-Probe\..\..\..\..\..\uC-LCD\Source\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-LIB\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uCOS-II\Ports\ARM-Cortex #
# -M3\Generic\IAR\ -I F:\PROJECT\STM32_UCOSII\EvalBoar #
# ds\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uCOS #
# -II\Source\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST #
# \STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uC-Probe\ #
# Target\Communication\Generic\RS-232\Source\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
# ation\Generic\RS-232\Ports\ST\STM32\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
# ation\Generic\Source\ -I F:\PROJECT\STM32_UCOSII\Eva #
# lBoards\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\.. #
# \uC-Probe\Target\Plugins\uCOS-II\ -I "E:\Program #
# Files\IAR Systems\Embedded Workbench 4.0 #
# Kickstart\arm\INC\" #
# List file = F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\List\stm32f10x_iwdg.lst #
# Object file = F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\Obj\stm32f10x_iwdg.r79 #
# #
# #
##############################################################################
F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_iwdg.c
1 /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
2 * File Name : stm32f10x_iwdg.c
3 * Author : MCD Application Team
4 * Version : V2.0
5 * Date : 05/23/2008
6 * Description : This file provides all the IWDG firmware functions.
7 ********************************************************************************
8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
12 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
14 * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED
15 * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
16 *******************************************************************************/
17
18 /* Includes ------------------------------------------------------------------*/
19 #include "stm32f10x_iwdg.h"
20
21 /* Private typedef -----------------------------------------------------------*/
22 /* Private define ------------------------------------------------------------*/
23 /* ---------------------- IWDG registers bit mask ------------------------ */
24 /* KR register bit mask */
25 #define KR_KEY_Reload ((u16)0xAAAA)
26 #define KR_KEY_Enable ((u16)0xCCCC)
27
28 /* Private macro -------------------------------------------------------------*/
29 /* Private variables ---------------------------------------------------------*/
30 /* Private function prototypes -----------------------------------------------*/
31 /* Private functions ---------------------------------------------------------*/
32
33 /*******************************************************************************
34 * Function Name : IWDG_WriteAccessCmd
35 * Description : Enables or disables write access to IWDG_PR and IWDG_RLR
36 * registers.
37 * Input : - IWDG_WriteAccess: new state of write access to IWDG_PR and
38 * IWDG_RLR registers.
39 * This parameter can be one of the following values:
40 * - IWDG_WriteAccess_Enable: Enable write access to
41 * IWDG_PR and IWDG_RLR registers
42 * - IWDG_WriteAccess_Disable: Disable write access to
43 * IWDG_PR and IWDG_RLR registers
44 * Output : None
45 * Return : None
46 *******************************************************************************/
47 void IWDG_WriteAccessCmd(u16 IWDG_WriteAccess)
48 {
49 /* Check the parameters */
50 assert_param(IS_IWDG_WRITE_ACCESS(IWDG_WriteAccess));
51
52 IWDG->KR = IWDG_WriteAccess;
53 }
54
55 /*******************************************************************************
56 * Function Name : IWDG_SetPrescaler
57 * Description : Sets IWDG Prescaler value.
58 * Input : - IWDG_Prescaler: specifies the IWDG Prescaler value.
59 * This parameter can be one of the following values:
60 * - IWDG_Prescaler_4: IWDG prescaler set to 4
61 * - IWDG_Prescaler_8: IWDG prescaler set to 8
62 * - IWDG_Prescaler_16: IWDG prescaler set to 16
63 * - IWDG_Prescaler_32: IWDG prescaler set to 32
64 * - IWDG_Prescaler_64: IWDG prescaler set to 64
65 * - IWDG_Prescaler_128: IWDG prescaler set to 128
66 * - IWDG_Prescaler_256: IWDG prescaler set to 256
67 * Output : None
68 * Return : None
69 *******************************************************************************/
70 void IWDG_SetPrescaler(u8 IWDG_Prescaler)
71 {
72 /* Check the parameters */
73 assert_param(IS_IWDG_PRESCALER(IWDG_Prescaler));
74
75 IWDG->PR = IWDG_Prescaler;
76 }
77
78 /*******************************************************************************
79 * Function Name : IWDG_SetReload
80 * Description : Sets IWDG Reload value.
81 * Input : - Reload: specifies the IWDG Reload value.
82 * This parameter must be a number between 0 and 0x0FFF.
83 * Output : None
84 * Return : None
85 *******************************************************************************/
86 void IWDG_SetReload(u16 Reload)
87 {
88 /* Check the parameters */
89 assert_param(IS_IWDG_RELOAD(Reload));
90
91 IWDG->RLR = Reload;
92 }
93
94 /*******************************************************************************
95 * Function Name : IWDG_ReloadCounter
96 * Description : Reloads IWDG counter with value defined in the reload register
97 * (write access to IWDG_PR and IWDG_RLR registers disabled).
98 * Input : None
99 * Output : None
100 * Return : None
101 *******************************************************************************/
102 void IWDG_ReloadCounter(void)
103 {
104 IWDG->KR = KR_KEY_Reload;
105 }
106
107 /*******************************************************************************
108 * Function Name : IWDG_Enable
109 * Description : Enables IWDG (write access to IWDG_PR and IWDG_RLR registers
110 * disabled).
111 * Input : None
112 * Output : None
113 * Return : None
114 *******************************************************************************/
115 void IWDG_Enable(void)
116 {
117 IWDG->KR = KR_KEY_Enable;
118 }
119
120 /*******************************************************************************
121 * Function Name : IWDG_GetFlagStatus
122 * Description : Checks whether the specified IWDG flag is set or not.
123 * Input : - IWDG_FLAG: specifies the flag to check.
124 * This parameter can be one of the following values:
125 * - IWDG_FLAG_PVU: Prescaler Value Update on going
126 * - IWDG_FLAG_RVU: Reload Value Update on going
127 * Output : None
128 * Return : The new state of IWDG_FLAG (SET or RESET).
129 *******************************************************************************/
130 FlagStatus IWDG_GetFlagStatus(u16 IWDG_FLAG)
131 {
132 FlagStatus bitstatus = RESET;
133
134 /* Check the parameters */
135 assert_param(IS_IWDG_FLAG(IWDG_FLAG));
136
137 if ((IWDG->SR & IWDG_FLAG) != (u32)RESET)
138 {
139 bitstatus = SET;
140 }
141 else
142 {
143 bitstatus = RESET;
144 }
145
146 /* Return the flag status */
147 return bitstatus;
148 }
149
150 /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
Errors: 6
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -