Mercurial > ~darius > hgwebdir.cgi > stm32temp
comparison libs/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/USART/Smartcard/stm32f10x_it.c @ 0:c59513fd84fb
Initial commit of STM32 test code.
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Mon, 03 Oct 2011 21:19:15 +1030 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c59513fd84fb |
---|---|
1 /** | |
2 ****************************************************************************** | |
3 * @file USART/Smartcard/stm32f10x_it.c | |
4 * @author MCD Application Team | |
5 * @version V3.5.0 | |
6 * @date 08-April-2011 | |
7 * @brief Main Interrupt Service Routines. | |
8 * This file provides template for all exceptions handler and peripherals | |
9 * interrupt service routine. | |
10 ****************************************************************************** | |
11 * @attention | |
12 * | |
13 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS | |
14 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE | |
15 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY | |
16 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING | |
17 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE | |
18 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. | |
19 * | |
20 * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2> | |
21 ****************************************************************************** | |
22 */ | |
23 | |
24 /* Includes ------------------------------------------------------------------*/ | |
25 #include "stm32f10x_it.h" | |
26 #include "platform_config.h" | |
27 | |
28 /** @addtogroup STM32F10x_StdPeriph_Examples | |
29 * @{ | |
30 */ | |
31 | |
32 /** @addtogroup USART_Smartcard | |
33 * @{ | |
34 */ | |
35 | |
36 /* Private typedef -----------------------------------------------------------*/ | |
37 /* Private define ------------------------------------------------------------*/ | |
38 /* Private macro -------------------------------------------------------------*/ | |
39 /* Private variables ---------------------------------------------------------*/ | |
40 extern __IO uint32_t CardInserted; | |
41 | |
42 /* Private function prototypes -----------------------------------------------*/ | |
43 /* Private functions ---------------------------------------------------------*/ | |
44 | |
45 /******************************************************************************/ | |
46 /* Cortex-M3 Processor Exceptions Handlers */ | |
47 /******************************************************************************/ | |
48 | |
49 /** | |
50 * @brief This function handles NMI exception. | |
51 * @param None | |
52 * @retval None | |
53 */ | |
54 void NMI_Handler(void) | |
55 { | |
56 } | |
57 | |
58 /** | |
59 * @brief This function handles Hard Fault exception. | |
60 * @param None | |
61 * @retval None | |
62 */ | |
63 void HardFault_Handler(void) | |
64 { | |
65 /* Go to infinite loop when Hard Fault exception occurs */ | |
66 while (1) | |
67 { | |
68 } | |
69 } | |
70 | |
71 /** | |
72 * @brief This function handles Memory Manage exception. | |
73 * @param None | |
74 * @retval None | |
75 */ | |
76 void MemManage_Handler(void) | |
77 { | |
78 /* Go to infinite loop when Memory Manage exception occurs */ | |
79 while (1) | |
80 { | |
81 } | |
82 } | |
83 | |
84 /** | |
85 * @brief This function handles Bus Fault exception. | |
86 * @param None | |
87 * @retval None | |
88 */ | |
89 void BusFault_Handler(void) | |
90 { | |
91 /* Go to infinite loop when Bus Fault exception occurs */ | |
92 while (1) | |
93 { | |
94 } | |
95 } | |
96 | |
97 /** | |
98 * @brief This function handles Usage Fault exception. | |
99 * @param None | |
100 * @retval None | |
101 */ | |
102 void UsageFault_Handler(void) | |
103 { | |
104 /* Go to infinite loop when Usage Fault exception occurs */ | |
105 while (1) | |
106 { | |
107 } | |
108 } | |
109 | |
110 /** | |
111 * @brief This function handles SVCall exception. | |
112 * @param None | |
113 * @retval None | |
114 */ | |
115 void SVC_Handler(void) | |
116 { | |
117 } | |
118 | |
119 /** | |
120 * @brief This function handles Debug Monitor exception. | |
121 * @param None | |
122 * @retval None | |
123 */ | |
124 void DebugMon_Handler(void) | |
125 { | |
126 } | |
127 | |
128 /** | |
129 * @brief This function handles PendSV_Handler exception. | |
130 * @param None | |
131 * @retval None | |
132 */ | |
133 void PendSV_Handler(void) | |
134 { | |
135 } | |
136 | |
137 /** | |
138 * @brief This function handles SysTick Handler. | |
139 * @param None | |
140 * @retval None | |
141 */ | |
142 void SysTick_Handler(void) | |
143 { | |
144 } | |
145 | |
146 /******************************************************************************/ | |
147 /* STM32F10x Peripherals Interrupt Handlers */ | |
148 /******************************************************************************/ | |
149 | |
150 /** | |
151 * @brief This function handles External lines 9 to 5 interrupt request. | |
152 * @param None | |
153 * @retval None | |
154 */ | |
155 void EXTI9_5_IRQHandler(void) | |
156 { | |
157 /* Select Smart Card CMDVCC */ | |
158 GPIO_ResetBits(GPIO_CMDVCC, SC_CMDVCC); | |
159 | |
160 /* Set RSTIN LOW */ | |
161 GPIO_ResetBits(GPIO_RESET, SC_RESET); | |
162 | |
163 /* Set RSTIN HIGH */ | |
164 GPIO_SetBits(GPIO_RESET, SC_RESET); | |
165 | |
166 /* Clear SC EXTIT Line Pending Bit */ | |
167 EXTI_ClearITPendingBit(SC_EXTI); | |
168 | |
169 /* Smart card detected */ | |
170 CardInserted = 1; | |
171 } | |
172 | |
173 /** | |
174 * @brief This function handles SC_USART global interrupt request. | |
175 * @param None | |
176 * @retval None | |
177 */ | |
178 void SC_USART_IRQHandler(void) | |
179 { | |
180 /* If the SC_USART detects a parity error */ | |
181 if(USART_GetITStatus(SC_USART, USART_IT_PE) != RESET) | |
182 { | |
183 /* Enable SC_USART RXNE Interrupt (until receiving the corrupted byte) */ | |
184 USART_ITConfig(SC_USART, USART_IT_RXNE, ENABLE); | |
185 /* Flush the SC_USART DR register */ | |
186 USART_ReceiveData(SC_USART); | |
187 } | |
188 | |
189 if(USART_GetITStatus(SC_USART, USART_IT_RXNE) != RESET) | |
190 { | |
191 /* Disable SC_USART RXNE Interrupt */ | |
192 USART_ITConfig(SC_USART, USART_IT_RXNE, DISABLE); | |
193 USART_ReceiveData(SC_USART); | |
194 } | |
195 } | |
196 | |
197 /** | |
198 * @brief This function handles External lines 15 to 10 interrupt request. | |
199 * @param None | |
200 * @retval None | |
201 */ | |
202 void EXTI15_10_IRQHandler(void) | |
203 { | |
204 /* Select Smart Card CMDVCC */ | |
205 GPIO_ResetBits(GPIO_CMDVCC, SC_CMDVCC); | |
206 | |
207 /* Set RSTIN LOW */ | |
208 GPIO_ResetBits(GPIO_RESET, SC_RESET); | |
209 | |
210 /* Set RSTIN HIGH */ | |
211 GPIO_SetBits(GPIO_RESET, SC_RESET); | |
212 | |
213 /* Clear SC EXTIT Line Pending Bit */ | |
214 EXTI_ClearITPendingBit(SC_EXTI); | |
215 | |
216 /* Smart card detected */ | |
217 CardInserted = 1; | |
218 } | |
219 | |
220 /******************************************************************************/ | |
221 /* STM32F10x Peripherals Interrupt Handlers */ | |
222 /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ | |
223 /* available peripheral interrupt handler's name please refer to the startup */ | |
224 /* file (startup_stm32f10x_xx.s). */ | |
225 /******************************************************************************/ | |
226 | |
227 /** | |
228 * @brief This function handles PPP interrupt request. | |
229 * @param None | |
230 * @retval None | |
231 */ | |
232 /*void PPP_IRQHandler(void) | |
233 { | |
234 }*/ | |
235 | |
236 /** | |
237 * @} | |
238 */ | |
239 | |
240 | |
241 /** | |
242 * @} | |
243 */ | |
244 | |
245 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ |