이 예제는 `printf` 및 `sprintf` 사용 방법에 대 한 참조에 대 한 cplusplus.com 추출 된 C 언어로 표준 라이브러리의 표준 출력 함수에 대 한 기본 출력 장치는 표시기입니다. 직렬 출력 또는 LCD 출력을 구현하려면 표준 라이브러리의 출력 기능을 재정의해야 합니다. 예를 들어 함수 printf를 직렬 포트로 출력하려면 함수 fputc의 출력을 직렬 포트(리디렉션)로 보내야 합니다. 그렇게 하는 것은 쉽습니다. 함수 int fputc(int ch, FILE *f)를 추가하고 직렬 포트가 문자를 출력할 수 있는지 확인합니다. 컴퓨터 나 다른 장치에 데이터를 보내는 두 가지 일반적인 방법이 있습니다 : 하나, 우리는 내장 된 HAL 라이브러리를 사용하여 Keil에서 사용할 수있는 “printf”기능을 활용할 수 있습니다. cubeMX와 HAL 라이브러리를 사용하기 전에 개인적으로 첫 번째 선택을 선호했습니다. 이제 두 번째 메서드를 사용하여 HAL 라이브러리와 “sprintf”함수를 결합하기 위해 변경합니다. cplusplus.com 두 함수를 모두 확인하여 어떤 매개 변수가 어떤 변수 형식을 전송하는지 알아야 합니다. 예를 들어 “%i”는 정수용입니다. “%.2f”는 소수점 이후 2자리숫자의 부동 숫자입니다.

문자열에 대한 “%s”; “r”은 acsii 13과 동일합니다. “n”acsii 10과 동일 … 비디오에서, 나는 당신에게 CR (acsii 13 또는 Enter)에 의해 확정 문자열에서 컴퓨터에서 데이터를 수신하기 위해 UART 인터럽트를 사용하는 한 가지 가능한 방법을 보여 주었다. 타이머 또는 다른 방법을 사용하여 UART 데이터를 수신하는 방법에는 여러 가지가 있습니다. 여기서이 특정 예제에서는 CR을 받을 때까지 각 수신 된 바이트를 배열에 저장하는 가장 일반적인 메커니즘을 사용합니다. 그런 다음 “전송 및 로우바;cplt”라는 변수가 트리거되어 수신이 완료됨을 알리게 됩니다. 따라서 데이터를 읽은 후 새 세션에 대해 이 “전송 및 로우바;cplt”를 재설정해야 합니다. 지금 입력 10 문자 TeraTerm, 예를 들어: 1 2 3 4 6 7 8 9 0 태그: bstractionHALhardwareainterruptlayerRX 구동 IRQstm32st32f4stm32f7uartusart 헤더 stm32f7xx_hal_uart.h. 파일의 끝에서, 당신은 IO 작업과 직렬 함수를 찾을 수 있습니다 아래 표시된. 이 명령문은 HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 0xFFFF)는 직렬 포트 1을 통해 문자를 전송하는 것을 의미합니다.