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>&copy; 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****/