CMSIS2000  0.0.7
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
stm32f10x_it.c
Go to the documentation of this file.
1 /**
2  ******************************************************************************
3  * @file USART/Interrupt/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 #include "stm32f10x_conf.h"
28 /** @addtogroup STM32F10x_StdPeriph_Examples
29  * @{
30  */
31 
32 /** @addtogroup USART_Interrupt
33  * @{
34  */
35 
36 /* Private typedef -----------------------------------------------------------*/
37 /* Private define ------------------------------------------------------------*/
38 /* Private macro -------------------------------------------------------------*/
39 /* Private variables ---------------------------------------------------------*/
40 extern uint8_t TxBuffer1[];
41 extern uint8_t TxBuffer2[];
42 extern uint8_t RxBuffer1[];
43 extern uint8_t RxBuffer2[];
44 extern __IO uint8_t TxCounter1;
45 extern __IO uint8_t TxCounter2;
46 extern __IO uint8_t RxCounter1;
47 extern __IO uint8_t RxCounter2;
52 
53 /* Private function prototypes -----------------------------------------------*/
54 /* Private functions ---------------------------------------------------------*/
55 
56 /******************************************************************************/
57 /* Cortex-M3 Processor Exceptions Handlers */
58 /******************************************************************************/
59 
60 /**
61  * @brief This function handles NMI exception.
62  * @param None
63  * @retval None
64  */
65 void NMI_Handler(void)
66 {
67 }
68 
69 /**
70  * @brief This function handles Hard Fault exception.
71  * @param None
72  * @retval None
73  */
75 {
76  /* Go to infinite loop when Hard Fault exception occurs */
77  while (1)
78  {
79  }
80 }
81 
82 /**
83  * @brief This function handles Memory Manage exception.
84  * @param None
85  * @retval None
86  */
88 {
89  /* Go to infinite loop when Memory Manage exception occurs */
90  while (1)
91  {
92  }
93 }
94 
95 /**
96  * @brief This function handles Bus Fault exception.
97  * @param None
98  * @retval None
99  */
101 {
102  /* Go to infinite loop when Bus Fault exception occurs */
103  while (1)
104  {
105  }
106 }
107 
108 /**
109  * @brief This function handles Usage Fault exception.
110  * @param None
111  * @retval None
112  */
114 {
115  /* Go to infinite loop when Usage Fault exception occurs */
116  while (1)
117  {
118  }
119 }
120 
121 /**
122  * @brief This function handles SVCall exception.
123  * @param None
124  * @retval None
125  */
126 void SVC_Handler(void)
127 {
128 }
129 
130 /**
131  * @brief This function handles Debug Monitor exception.
132  * @param None
133  * @retval None
134  */
136 {
137 }
138 
139 /**
140  * @brief This function handles PendSV_Handler exception.
141  * @param None
142  * @retval None
143  */
144 void PendSV_Handler(void)
145 {
146 }
147 
148 /**
149  * @brief This function handles SysTick Handler.
150  * @param None
151  * @retval None
152  */
153 void SysTick_Handler(void)
154 {
155 }
156 
157 /******************************************************************************/
158 /* STM32F10x Peripherals Interrupt Handlers */
159 /******************************************************************************/
160 
161 /**
162  * @brief This function handles USARTy global interrupt request.
163  * @param None
164  * @retval None
165  */
167 {
168  if(USART_GetITStatus(USARTy, USART_IT_RXNE) != RESET)
169  {
170  /* Read one byte from the receive data register */
171  RxBuffer1[RxCounter1++] = USART_ReceiveData(USARTy);
172 
174  {
175  /* Disable the USARTy Receive interrupt */
176  USART_ITConfig(USARTy, USART_IT_RXNE, DISABLE);
177  }
178  }
179 
180  if(USART_GetITStatus(USARTy, USART_IT_TXE) != RESET)
181  {
182  /* Write one byte to the transmit data register */
183  USART_SendData(USARTy, TxBuffer1[TxCounter1++]);
184 
186  {
187  /* Disable the USARTy Transmit interrupt */
188  USART_ITConfig(USARTy, USART_IT_TXE, DISABLE);
189  }
190  }
191 }
192 
193 /**
194  * @brief This function handles USARTz global interrupt request.
195  * @param None
196  * @retval None
197  */
199 {
200  if(USART_GetITStatus(USARTz, USART_IT_RXNE) != RESET)
201  {
202  /* Read one byte from the receive data register */
203  RxBuffer2[RxCounter2++] = USART_ReceiveData(USARTz);
204 
206  {
207  /* Disable the USARTz Receive interrupt */
208  USART_ITConfig(USARTz, USART_IT_RXNE, DISABLE);
209  }
210  }
211 
212  if(USART_GetITStatus(USARTz, USART_IT_TXE) != RESET)
213  {
214  /* Write one byte to the transmit data register */
215  USART_SendData(USARTz, TxBuffer2[TxCounter2++]);
216 
218  {
219  /* Disable the USARTz Transmit interrupt */
220  USART_ITConfig(USARTz, USART_IT_TXE, DISABLE);
221  }
222  }
223 }
224 
225 /******************************************************************************/
226 /* STM32F10x Peripherals Interrupt Handlers */
227 /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */
228 /* available peripheral interrupt handler's name please refer to the startup */
229 /* file (startup_stm32f10x_xx.s). */
230 /******************************************************************************/
231 
232 /**
233  * @brief This function handles PPP interrupt request.
234  * @param None
235  * @retval None
236  */
237 /*void PPP_IRQHandler(void)
238 {
239 }*/
240 
241 /**
242  * @}
243  */
244 
245 /**
246  * @}
247  */
248 
249 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/