728x90
반응형
1. STM32CubeMX
첫 번째 방법
#include "main.h"
#include "stm32f1xx_hal.h"
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
UART_HandleTypeDef huart1;
/* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/
uint8_t RxBuffer[1];
int main(void)
{
MX_USART1_UART_Init();
/* USER CODE BEGIN 2 */
HAL_UART_Receive_IT(&huart1, RxBuffer, 1);
while (1){
}
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart->Instance == USART1){
HAL_UART_Receive_IT(&huart1, RxBuffer, 1);
printf("Rx= %c\r\n",RxBuffer[0]);
}
}
두 번째 방법
__HAL_UART_ENABLE_IT(huart, UART_IT_RXNE);
이 소스를 stm32f1xx_hal_msp.c 에 넣는다.
그리고 나서 stm32f1xx_it.c 에 가서
if((huart1.Instance->SR & UART_FLAG_RXNE) != RESET)
{
printf("%c\r\n",huart1.Instance->DR);
}
이런식으로 받아오면 된다!
그런데 SR 같은 경우에는 ISR 같이 명령어가 다른경우가 있으니 참고 하기 바랍니다.
오류가 뜨면 직접 목록을 확인해서 넣어주세요!!
저같은 경우는 잘 들어오는지 확인하기 위해서 printf 를 썻지만 변수를 넣어주시면 됩니다.
728x90
반응형
'공부 > STM32F1' 카테고리의 다른 글
명령어 모음 (0) | 2019.07.16 |
---|---|
33.[stm32f103][hal] 소프트 리셋 (0) | 2019.05.31 |
31.[stm32f103][hal] OLED SSD1306 (0) | 2018.10.22 |
30.[stm32f103][hal] us delay 만들기 (0) | 2018.10.12 |
29.[stm32f103][hal] i2c_AT2402 eeprom (0) | 2018.10.10 |