헤더 stm32f7xx_hal_uart.h를 엽니다. 파일의 끝에서, 당신은 IO 작업과 직렬 함수를 찾을 수 있습니다 아래 표시된. afiskon /stm32-uart의 새로운 릴리스에 대한 알림을 원하십니까? STM32 USART_Irq 예제 프로그램은 인터럽트 구동 모드에서 STMicroelectronics STM32F103xx 마이크로 컨트롤러의 USART1을 구성하고 사용하는 방법을 보여줍니다. USART1의 구성은 9600 Baud, 8 데이터 비트, 1 스톱 비트, 패리티 및 흐름 제어 없음입니다. Retargetting는 직렬 입력을 통해 문자를 읽고 직렬 출력에 문자열을 인쇄하는 데 사용됩니다. 데이터 전송/수신을 위해 버퍼 처리가 구현됩니다. 이 예는 Keil 평가 보드 MCBSTM32로 테스트됩니다. 유휴 회선 감지(또는 수신기 시간 시간)는 수신 회선이 수신을 위해 1자 이상에 대한 통신 없이 안정될 때 USART 인터럽트를 트리거할 수 있습니다. 연습 예: 115200bauds에서 10바이트를 받았다고 가정해 보겠습니다. 115200 bauds의 각 바이트는 UART 라인에서 약 10us, 총 100us가 소요됩니다. IDLE 라인 인터럽트는 RX 라인에서 1자 비활성을 감지할 때 응용 프로그램에 통보하며, 이는 마지막 문자 후 10us 이후를 의미합니다. 응용 프로그램은 이 이벤트에 반응하고 그에 따라 데이터를 처리할 수 있습니다.

여기서는 마이크로의 UART를 통해 한 가지 더 예제를 살펴보겠습니다. 인프라 현명한 그것은 거의 이전 타이머 LED 예제와 동일. 리커 스크립트, 시작 파일, OpenOcd 구성. 파일 및 쓰기 바이너리 배시 스크립트는 모두 동일합니다. 내가 다르게 한 유일한 것은 라이브러리 함수를 복사하여 응용 프로그램 파일에 붙여 넣는 대신 관련 라이브러리 C 파일을 별도로 컴파일하고 모든 것을 링커에 남겨 두었다는 것입니다. 그래서 여기에 우리의 Makefile입니다 : 지금은 단일 응용 프로그램에서 DMA와 USARTs의 모든 기능을 사용하는 시간이다. 우리는 응용 프로그램에 의해 20 바이트를받을 것으로 예상의 이전 예로 이동하는 경우 (실제로 만 수신 14), 우리는 지금 할 수 있습니다 : 태그 : 비동기 메모리 액세스maidno2stm32 familystm32f4st4stm32f7tutorialusartartartart 유휴 폴링 모드 : CPU IO 장치를 지속적으로 쿼리하고 장치에서 요구 사항을 처리합니다. 예를 들어 CPU는 데이터 전송이 완료되었는지 여부를 직렬 포트를 쿼리합니다.

전송 시간이 지남에 따라 시간 초과 오류가 반환됩니다. 폴링은 CPU 시간을 차지할 수 있기 때문에 비효율적인 방법입니다.