CMSIS2000  0.0.7
 Указатель Структуры данных Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Макросы Группы Страницы
USART_Interrupt
Граф связей класса USART_Interrupt:

Макросы

#define countof(a)   (sizeof(a) / sizeof(*(a)))
#define RxBufferSize1   TxBufferSize2
#define RxBufferSize2   TxBufferSize1
#define TxBufferSize1   (countof(TxBuffer1) - 1)
#define TxBufferSize2   (countof(TxBuffer2) - 1)

Перечисления

enum  TestStatus { FAILED = 0, PASSED = !FAILED }

Функции

TestStatus Buffercmp (uint8_t *pBuffer1, uint8_t *pBuffer2, uint16_t BufferLength)
 Compares two buffers.
void BusFault_Handler (void)
 This function handles Bus Fault exception.
void DebugMon_Handler (void)
 This function handles Debug Monitor exception.
void GPIO_Configuration (void)
 Configures the different GPIO ports.
void HardFault_Handler (void)
 This function handles Hard Fault exception.
int main (void)
 Main program.
void MemManage_Handler (void)
 This function handles Memory Manage exception.
void NMI_Handler (void)
 This function handles NMI exception.
void NVIC_Configuration (void)
 Configures the nested vectored interrupt controller.
void PendSV_Handler (void)
 This function handles PendSV_Handler exception.
void RCC_Configuration (void)
 Configures the different system clocks.
void SVC_Handler (void)
 This function handles SVCall exception.
void SysTick_Handler (void)
 This function handles SysTick Handler.
void UsageFault_Handler (void)
 This function handles Usage Fault exception.
void USARTy_IRQHandler (void)
 This function handles USARTy global interrupt request.
void USARTz_IRQHandler (void)
 This function handles USARTz global interrupt request.

Переменные

uint8_t NbrOfDataToRead1
uint8_t NbrOfDataToRead1 = RxBufferSize1
uint8_t NbrOfDataToRead2
uint8_t NbrOfDataToRead2 = RxBufferSize2
uint8_t NbrOfDataToTransfer1
uint8_t NbrOfDataToTransfer1 = TxBufferSize1
uint8_t NbrOfDataToTransfer2
uint8_t NbrOfDataToTransfer2 = TxBufferSize2
uint8_t RxBuffer1 []
uint8_t RxBuffer1 [RxBufferSize1]
uint8_t RxBuffer2 []
uint8_t RxBuffer2 [RxBufferSize2]
__IO uint8_t RxCounter1
__IO uint8_t RxCounter1 = 0x00
__IO uint8_t RxCounter2
__IO uint8_t RxCounter2 = 0x00
__IO TestStatus TransferStatus1 = FAILED
__IO TestStatus TransferStatus2 = FAILED
uint8_t TxBuffer1 []
uint8_t TxBuffer1 [] = "USART Interrupt Example: USARTy -> USARTz using Interrupt"
uint8_t TxBuffer2 []
uint8_t TxBuffer2 [] = "USART Interrupt Example: USARTz -> USARTy using Interrupt"
__IO uint8_t TxCounter1
__IO uint8_t TxCounter1 = 0x00
__IO uint8_t TxCounter2
__IO uint8_t TxCounter2 = 0x00
USART_InitTypeDef USART_InitStructure

Подробное описание

USART Interrupts example

  ******************** (C) COPYRIGHT 2011 STMicroelectronics *******************
  * @file    Device/ST/STM32F10x/Examples/UART_INTERRUPT/readme.txt 
  * @author  MCD Application Team
  * @version V3.5.0
  * @date    08-April-2011
  * @brief   Description of the USART Interrupts example.
  ******************************************************************************
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  ******************************************************************************
Example Description

This example provides a basic communication between USARTy and USARTz using interrupts. USARTy and USARTz can be USART1 and USART2 or USART2 and USART3, depending on the STMicroelectronics EVAL board you are using.

USARTz sends TxBuffer2 to USARTy which sends TxBuffer1 to USARTz. The data received by USARTy and USARTz are stored respectively in RxBuffer1 and RxBuffer2. The data transfer is managed in USARTy_IRQHandler and USARTz_IRQHandler in stm32f10x_it.c file.

USARTy and USARTz configured as follow:

Directory contents
Hardware and Software environment
How to use it ?

In order to make the program work, you must do the following :

Заметки
  • Low-density Value line devices are STM32F100xx microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes.
  • Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes.
  • Medium-density Value line devices are STM32F100xx microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes.
  • Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes.
  • High-density Value line devices are STM32F100xx microcontrollers where the Flash memory density ranges between 256 and 512 Kbytes.
  • High-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 256 and 512 Kbytes.
  • XL-density devices are STM32F101xx and STM32F103xx microcontrollers where the Flash memory density ranges between 512 and 1024 Kbytes.
  • Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers.

    © COPYRIGHT 2011 STMicroelectronics

Макросы

#define countof (   a)    (sizeof(a) / sizeof(*(a)))

См. определение в файле main.c строка 53

#define RxBufferSize1   TxBufferSize2

См. определение в файле main.c строка 49

Используется в main().

#define RxBufferSize2   TxBufferSize1

См. определение в файле main.c строка 50

Используется в main().

#define TxBufferSize1   (countof(TxBuffer1) - 1)

См. определение в файле main.c строка 47

#define TxBufferSize2   (countof(TxBuffer2) - 1)

См. определение в файле main.c строка 48

Перечисления

enum TestStatus
Элементы перечислений:
FAILED 
PASSED 

См. определение в файле main.c строка 44

Функции

TestStatus Buffercmp ( uint8_t pBuffer1,
uint8_t pBuffer2,
uint16_t  BufferLength 
)

Compares two buffers.

Аргументы
pBuffer1,pBuffer2,:buffers to be compared.
BufferLength,:buffer's length
Возвращаемые значения
PASSED,:pBuffer1 identical to pBuffer2 FAILED: pBuffer1 differs from pBuffer2

См. определение в файле main.c строка 257

Перекрестные ссылки FAILED и PASSED.

Используется в main().

Граф вызова функции:

void BusFault_Handler ( void  )

This function handles Bus Fault exception.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 100

void DebugMon_Handler ( void  )

This function handles Debug Monitor exception.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 135

void GPIO_Configuration ( void  )

Configures the different GPIO ports.

Аргументы
None
Возвращаемые значения
None

См. определение в файле main.c строка 190

Перекрестные ссылки USARTy_GPIO, USARTy_RxPin, USARTy_TxPin, USARTz_GPIO, USARTz_RxPin и USARTz_TxPin.

Используется в main().

Граф вызова функции:

void HardFault_Handler ( void  )

This function handles Hard Fault exception.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 74

int main ( void  )

Main program.

Аргументы
None
Возвращаемые значения
None

< At this stage the microcontroller clock setting is already configured, this is done through SystemInit() function which is called from startup file (startup_stm32f10x_xx.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f10x.c file

См. определение в файле main.c строка 85

Перекрестные ссылки Buffercmp(), GPIO_Configuration(), NVIC_Configuration(), RCC_Configuration(), RxBufferSize1, RxBufferSize2, USARTy и USARTz.

Граф вызовов:

void MemManage_Handler ( void  )

This function handles Memory Manage exception.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 87

void NMI_Handler ( void  )

This function handles NMI exception.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 65

void NVIC_Configuration ( void  )

Configures the nested vectored interrupt controller.

Аргументы
None
Возвращаемые значения
None

См. определение в файле main.c строка 230

Перекрестные ссылки USARTy_IRQn и USARTz_IRQn.

Используется в main().

Граф вызова функции:

void PendSV_Handler ( void  )

This function handles PendSV_Handler exception.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 144

void RCC_Configuration ( void  )

Configures the different system clocks.

Аргументы
None
Возвращаемые значения
None

См. определение в файле main.c строка 169

Перекрестные ссылки USARTy_CLK, USARTy_GPIO_CLK, USARTz_CLK и USARTz_GPIO_CLK.

Используется в main().

Граф вызова функции:

void SVC_Handler ( void  )

This function handles SVCall exception.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 126

void SysTick_Handler ( void  )

This function handles SysTick Handler.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 153

Перекрестные ссылки interrupt_register.

void UsageFault_Handler ( void  )

This function handles Usage Fault exception.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 113

void USARTy_IRQHandler ( void  )

This function handles USARTy global interrupt request.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 166

Перекрестные ссылки NbrOfDataToRead1, NbrOfDataToTransfer1, RESET, RxBuffer1, RxCounter1, TxBuffer1, TxCounter1 и USARTy.

void USARTz_IRQHandler ( void  )

This function handles USARTz global interrupt request.

Аргументы
None
Возвращаемые значения
None

См. определение в файле stm32f10x_it.c строка 198

Перекрестные ссылки NbrOfDataToRead1, NbrOfDataToTransfer2, RESET, RxBuffer2, RxCounter2, TxBuffer2, TxCounter2 и USARTz.

Переменные

uint8_t NbrOfDataToRead1

См. определение в файле main.c строка 67

Используется в USARTy_IRQHandler() и USARTz_IRQHandler().

uint8_t NbrOfDataToRead1 = RxBufferSize1

См. определение в файле main.c строка 67

Используется в USARTy_IRQHandler() и USARTz_IRQHandler().

uint8_t NbrOfDataToRead2

См. определение в файле main.c строка 68

uint8_t NbrOfDataToRead2 = RxBufferSize2

См. определение в файле main.c строка 68

uint8_t NbrOfDataToTransfer1

См. определение в файле main.c строка 65

Используется в USARTy_IRQHandler().

uint8_t NbrOfDataToTransfer1 = TxBufferSize1

См. определение в файле main.c строка 65

Используется в USARTy_IRQHandler().

uint8_t NbrOfDataToTransfer2

См. определение в файле main.c строка 66

Используется в USARTz_IRQHandler().

uint8_t NbrOfDataToTransfer2 = TxBufferSize2

См. определение в файле main.c строка 66

Используется в USARTz_IRQHandler().

uint8_t RxBuffer1[]

См. определение в файле main.c строка 59

Используется в USARTy_IRQHandler().

uint8_t RxBuffer1[RxBufferSize1]

См. определение в файле main.c строка 59

Используется в USARTy_IRQHandler().

uint8_t RxBuffer2[]

См. определение в файле main.c строка 60

Используется в USARTz_IRQHandler().

uint8_t RxBuffer2[RxBufferSize2]

См. определение в файле main.c строка 60

Используется в USARTz_IRQHandler().

__IO uint8_t RxCounter1

См. определение в файле main.c строка 63

Используется в USARTy_IRQHandler().

__IO uint8_t RxCounter1 = 0x00

См. определение в файле main.c строка 63

Используется в USARTy_IRQHandler().

__IO uint8_t RxCounter2

См. определение в файле main.c строка 64

Используется в USARTz_IRQHandler().

__IO uint8_t RxCounter2 = 0x00

См. определение в файле main.c строка 64

Используется в USARTz_IRQHandler().

__IO TestStatus TransferStatus1 = FAILED

См. определение в файле main.c строка 69

__IO TestStatus TransferStatus2 = FAILED

См. определение в файле main.c строка 70

uint8_t TxBuffer1[]

См. определение в файле main.c строка 57

Используется в USARTy_IRQHandler().

uint8_t TxBuffer1[] = "USART Interrupt Example: USARTy -> USARTz using Interrupt"

См. определение в файле main.c строка 57

Используется в USARTy_IRQHandler().

uint8_t TxBuffer2[]

См. определение в файле main.c строка 58

Используется в USARTz_IRQHandler().

uint8_t TxBuffer2[] = "USART Interrupt Example: USARTz -> USARTy using Interrupt"

См. определение в файле main.c строка 58

Используется в USARTz_IRQHandler().

__IO uint8_t TxCounter1

См. определение в файле main.c строка 61

Используется в USARTy_IRQHandler().

__IO uint8_t TxCounter1 = 0x00

См. определение в файле main.c строка 61

Используется в USARTy_IRQHandler().

__IO uint8_t TxCounter2

См. определение в файле main.c строка 62

Используется в USARTz_IRQHandler().

__IO uint8_t TxCounter2 = 0x00

См. определение в файле main.c строка 62

Используется в USARTz_IRQHandler().

USART_InitTypeDef USART_InitStructure

См. определение в файле main.c строка 56