comparison libs/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/USART/HyperTerminal_Interrupt/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/HyperTerminal_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 "stm32_eval.h"
27
28 /** @addtogroup STM32F10x_StdPeriph_Examples
29 * @{
30 */
31
32 /** @addtogroup USART_HyperTerminal_Interrupt
33 * @{
34 */
35
36 /* Private typedef -----------------------------------------------------------*/
37 /* Private define ------------------------------------------------------------*/
38 #ifdef USE_STM3210C_EVAL
39 #define USARTx_IRQHandler USART2_IRQHandler
40 #else
41 #define USARTx_IRQHandler USART1_IRQHandler
42 #endif
43
44 #define TxBufferSize (countof(TxBuffer) - 1)
45 #define RxBufferSize 0x20
46
47 /* Private macro -------------------------------------------------------------*/
48 #define countof(a) (sizeof(a) / sizeof(*(a)))
49
50 /* Private variables ---------------------------------------------------------*/
51 uint8_t TxBuffer[] = "\n\rUSART Hyperterminal Interrupts Example: USART-Hyperterminal\
52 communication using Interrupt\n\r";
53 uint8_t RxBuffer[RxBufferSize];
54 uint8_t NbrOfDataToTransfer = TxBufferSize;
55 uint8_t NbrOfDataToRead = RxBufferSize;
56 uint8_t TxCounter = 0;
57 uint16_t RxCounter = 0;
58
59 /* Private function prototypes -----------------------------------------------*/
60 /* Private functions ---------------------------------------------------------*/
61
62 /******************************************************************************/
63 /* Cortex-M3 Processor Exceptions Handlers */
64 /******************************************************************************/
65
66 /**
67 * @brief This function handles NMI exception.
68 * @param None
69 * @retval None
70 */
71 void NMI_Handler(void)
72 {
73 }
74
75 /**
76 * @brief This function handles Hard Fault exception.
77 * @param None
78 * @retval None
79 */
80 void HardFault_Handler(void)
81 {
82 /* Go to infinite loop when Hard Fault exception occurs */
83 while (1)
84 {
85 }
86 }
87
88 /**
89 * @brief This function handles Memory Manage exception.
90 * @param None
91 * @retval None
92 */
93 void MemManage_Handler(void)
94 {
95 /* Go to infinite loop when Memory Manage exception occurs */
96 while (1)
97 {
98 }
99 }
100
101 /**
102 * @brief This function handles Bus Fault exception.
103 * @param None
104 * @retval None
105 */
106 void BusFault_Handler(void)
107 {
108 /* Go to infinite loop when Bus Fault exception occurs */
109 while (1)
110 {
111 }
112 }
113
114 /**
115 * @brief This function handles Usage Fault exception.
116 * @param None
117 * @retval None
118 */
119 void UsageFault_Handler(void)
120 {
121 /* Go to infinite loop when Usage Fault exception occurs */
122 while (1)
123 {
124 }
125 }
126
127 /**
128 * @brief This function handles SVCall exception.
129 * @param None
130 * @retval None
131 */
132 void SVC_Handler(void)
133 {
134 }
135
136 /**
137 * @brief This function handles Debug Monitor exception.
138 * @param None
139 * @retval None
140 */
141 void DebugMon_Handler(void)
142 {
143 }
144
145 /**
146 * @brief This function handles PendSV_Handler exception.
147 * @param None
148 * @retval None
149 */
150 void PendSV_Handler(void)
151 {
152 }
153
154 /**
155 * @brief This function handles SysTick Handler.
156 * @param None
157 * @retval None
158 */
159 void SysTick_Handler(void)
160 {
161 }
162
163 /******************************************************************************/
164 /* STM32F10x Peripherals Interrupt Handlers */
165 /******************************************************************************/
166
167 /**
168 * @brief This function handles USARTx global interrupt request.
169 * @param None
170 * @retval None
171 */
172 void USARTx_IRQHandler(void)
173 {
174 if(USART_GetITStatus(EVAL_COM1, USART_IT_RXNE) != RESET)
175 {
176 /* Read one byte from the receive data register */
177 RxBuffer[RxCounter++] = (USART_ReceiveData(EVAL_COM1) & 0x7F);
178
179 if(RxCounter == NbrOfDataToRead)
180 {
181 /* Disable the EVAL_COM1 Receive interrupt */
182 USART_ITConfig(EVAL_COM1, USART_IT_RXNE, DISABLE);
183 }
184 }
185
186 if(USART_GetITStatus(EVAL_COM1, USART_IT_TXE) != RESET)
187 {
188 /* Write one byte to the transmit data register */
189 USART_SendData(EVAL_COM1, TxBuffer[TxCounter++]);
190
191 if(TxCounter == NbrOfDataToTransfer)
192 {
193 /* Disable the EVAL_COM1 Transmit interrupt */
194 USART_ITConfig(EVAL_COM1, USART_IT_TXE, DISABLE);
195 }
196 }
197 }
198
199 /******************************************************************************/
200 /* STM32F10x Peripherals Interrupt Handlers */
201 /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */
202 /* available peripheral interrupt handler's name please refer to the startup */
203 /* file (startup_stm32f10x_xx.s). */
204 /******************************************************************************/
205
206 /**
207 * @brief This function handles PPP interrupt request.
208 * @param None
209 * @retval None
210 */
211 /*void PPP_IRQHandler(void)
212 {
213 }*/
214
215 /**
216 * @}
217 */
218
219 /**
220 * @}
221 */
222
223 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/