?? stm32f10x_exti.lst
字號:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 15/May/2008 12:06:30 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Stack alignment = 4 #
# Source file = C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM #
# Encoder\example\FWLib\src\stm32f10x_exti.c #
# Command line = "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM #
# Encoder\example\FWLib\src\stm32f10x_exti.c" -D #
# VECT_TAB_FLASH -lcN "C:\David JIANG\ST #
# MCU\Docs\STM32\AN_JIANG\TIM #
# Encoder\example\project\EWARM\BOOT_FLASH\List\" -lb #
# "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM #
# Encoder\example\project\EWARM\BOOT_FLASH\List\" -o #
# "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM #
# Encoder\example\project\EWARM\BOOT_FLASH\Obj\" -z3 #
# --no_cse --no_unroll --no_inline --no_code_motion #
# --no_tbaa --no_clustering --no_scheduling --debug #
# --cpu_mode thumb --endian little --cpu cortex-M3 #
# --stack_align 4 --require_prototypes --fpu None #
# --dlib_config "C:\Program Files\IAR #
# Systems\Embedded Workbench #
# 4.0\arm\LIB\dl7mptnnl8f.h" -I "C:\David JIANG\ST #
# MCU\Docs\STM32\AN_JIANG\TIM #
# Encoder\example\project\EWARM\" -I "C:\David #
# JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM #
# Encoder\example\project\EWARM\..\include\" -I #
# "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM #
# Encoder\example\project\EWARM\..\..\FWLib\inc\" -I #
# "C:\Program Files\IAR Systems\Embedded Workbench #
# 4.0\arm\INC\" #
# List file = C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM #
# Encoder\example\project\EWARM\BOOT_FLASH\List\stm32f #
# 10x_exti.lst #
# Object file = C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM #
# Encoder\example\project\EWARM\BOOT_FLASH\Obj\stm32f1 #
# 0x_exti.r79 #
# #
# #
##############################################################################
C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM Encoder\example\FWLib\src\stm32f10x_exti.c
1 /******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
2 * File Name : stm32f10x_exti.c
3 * Author : MCD Application Team
4 * Date First Issued : 09/29/2006
5 * Description : This file provides all the EXTI firmware functions.
6 ********************************************************************************
7 * History:
8 * 05/21/2007: V0.3
9 * 04/02/2007: V0.2
10 * 02/05/2007: V0.1
11 * 09/29/2006: V0.01
12 ********************************************************************************
13 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
14 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
15 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
16 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
17 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
18 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
19 *******************************************************************************/
20
21 /* Includes ------------------------------------------------------------------*/
22 #include "stm32f10x_exti.h"
23
24 /* Private typedef -----------------------------------------------------------*/
25 /* Private define ------------------------------------------------------------*/
26 #define EXTI_LineNone ((u32)0x00000) /* No interrupt selected */
27
28 /* Private macro -------------------------------------------------------------*/
29 /* Private variables ---------------------------------------------------------*/
30 /* Private function prototypes -----------------------------------------------*/
31 /* Private functions ---------------------------------------------------------*/
32
33 /*******************************************************************************
34 * Function Name : EXTI_DeInit
35 * Description : Deinitializes the EXTI peripheral registers to their default
36 * reset values.
37 * Input : None
38 * Output : None
39 * Return : None
40 *******************************************************************************/
41 void EXTI_DeInit(void)
42 {
43 EXTI->IMR = 0x00000000;
44 EXTI->EMR = 0x00000000;
45 EXTI->RTSR = 0x00000000;
46 EXTI->FTSR = 0x00000000;
47 EXTI->PR = 0x0007FFFF;
48 }
49
50 /*******************************************************************************
51 * Function Name : EXTI_Init
52 * Description : Initializes the EXTI peripheral according to the specified
53 * parameters in the EXTI_InitStruct.
54 * Input : - EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure
55 * that contains the configuration information for the EXTI
56 * peripheral.
57 * Output : None
58 * Return : None
59 *******************************************************************************/
60 void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct)
61 {
62 /* Check the parameters */
63 assert(IS_EXTI_MODE(EXTI_InitStruct->EXTI_Mode));
64 assert(IS_EXTI_TRIGGER(EXTI_InitStruct->EXTI_Trigger));
65 assert(IS_EXTI_LINE(EXTI_InitStruct->EXTI_Line));
66 assert(IS_FUNCTIONAL_STATE(EXTI_InitStruct->EXTI_LineCmd));
67
68 if (EXTI_InitStruct->EXTI_LineCmd != DISABLE)
69 {
70 *(u32 *)(EXTI_BASE + (u32)EXTI_InitStruct->EXTI_Mode)|= EXTI_InitStruct->EXTI_Line;
71
72 /* Clear Rising Falling edge configuration */
73 EXTI->RTSR &= ~EXTI_InitStruct->EXTI_Line;
74 EXTI->FTSR &= ~EXTI_InitStruct->EXTI_Line;
75
76 /* Select the trigger for the selected external interrupts */
77 if (EXTI_InitStruct->EXTI_Trigger == EXTI_Trigger_Rising_Falling)
78 {
79 /* Rising Falling edge */
80 EXTI->RTSR |= EXTI_InitStruct->EXTI_Line;
81 EXTI->FTSR |= EXTI_InitStruct->EXTI_Line;
82 }
83 else
84 {
85 *(u32 *)(EXTI_BASE + (u32)EXTI_InitStruct->EXTI_Trigger)|= EXTI_InitStruct->EXTI_Line;
86 }
87 }
88 else
89 {
90 /* Disable the selected external lines */
91 *(u32 *)(EXTI_BASE + (u32)EXTI_InitStruct->EXTI_Mode)&= ~EXTI_InitStruct->EXTI_Line;
92 }
93 }
94
95 /*******************************************************************************
96 * Function Name : EXTI_StructInit
97 * Description : Fills each EXTI_InitStruct member with its reset value.
98 * Input : - EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure
99 * which will be initialized.
100 * Output : None
101 * Return : None
102 *******************************************************************************/
103 void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct)
104 {
105 EXTI_InitStruct->EXTI_Line = EXTI_LineNone;
106 EXTI_InitStruct->EXTI_Mode = EXTI_Mode_Interrupt;
107 EXTI_InitStruct->EXTI_Trigger = EXTI_Trigger_Falling;
108 EXTI_InitStruct->EXTI_LineCmd = DISABLE;
109 }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -