1) UART 인터럽터 함수
STM32 HAL의 UART 인터럽터 함수는 stm32f1xx_it.c 파일에 다음과 같이 정의되어 있다.
void USART1_IRQHandler(void)
{
/* USER CODE BEGIN USART1_IRQn 0 */
/* USER CODE END USART1_IRQn 0 */
HAL_UART_IRQHandler(&huart1);
/* USER CODE BEGIN USART1_IRQn 1 */
/* USER CODE END USART1_IRQn 1 */
}
HAL_UART_IRQHandler 함수는 stm32f1xx_hal_uart.c 파일에 정의되어 있다.
HAL_UART_IRQHandler 함수는 huart1 구조체 변수를 사용한다. UART 초기화 함수에서 huart1는 초기화된다.
2) UART 초기화 함수
UART 초기화 함수는 MX_USART1_UART_Init이고 main.c 파일에 정의되어 있다.
static void MX_USART1_UART_Init(void)
{
/* USER CODE BEGIN USART1_Init 0 */
/* USER CODE END USART1_Init 0 */
/* USER CODE BEGIN USART1_Init 1 */
/* USER CODE END USART1_Init 1 */
huart1.Instance = USART1;
huart1.Init.BaudRate = 115200;
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_NONE;
huart1.Init.Mode = UART_MODE_TX_RX;
huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart1.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN USART1_Init 2 */
/* USER CODE END USART1_Init 2 */
}
'전자 > 임베디드 시스템' 카테고리의 다른 글
STM3210C-EVAL 보드 (0) | 2022.10.02 |
---|---|
라즈베리파이 SD 카드 복사 (0) | 2022.09.27 |
STM32 Flash 지우기/쓰기 (0) | 2022.09.26 |
실시간 시스템 뜻 (0) | 2022.09.09 |
MCU 리셋 회로 (0) | 2022.09.07 |
댓글