Среда, 20 ноября 2019

stm32 usart 예제

36

모든 코드 예제는 USART 루프이므로 STM32에 쓰는 모든 것이 PC USART 터미널 프로그램으로 반환됩니다. MikroC 다른 많은 IID처럼 USART 터미널 지원을 가지고 우리는 매우 쉽게 사용할 수 있습니다. 일반적으로 USART1 하드웨어는 부트 로더 모드에 사용하는 하드웨어이며 일반적인 USART 핀이 다른 곳에서 리메즈되지 않는 경우 추가 물건을 배선하지 않고 USART 코드 검사에 사용할 수 있습니다. 우리는 테스트 하기 전에 코드를 업로드 하기 위해 그것을 와이어. 이것은 내가 예에서 한 일입니다. STM32 시리즈의 대부분은 IDLE 라인 감지기능이 있는 U(S)ART를 가지고 있습니다. IDLE 회선 감지를 사용할 수 없는 경우 일부 수신자 시간 지정 기능이 프로그래밍 가능한 지연이 있습니다. 이 경우에도 사용할 수 없는 경우 응용 프로그램은 아래에 제공된 예제와 함께 DMA가 있는 폴링 모드만 사용할 수 있습니다. 유휴 회선 감지(또는 수신기 시간 시간)는 수신 회선이 수신을 위해 1자 이상에 대한 통신 없이 안정될 때 USART 인터럽트를 트리거할 수 있습니다. 연습 예: 115200bauds에서 10바이트를 받았다고 가정해 보겠습니다. 115200 bauds의 각 바이트는 UART 라인에서 약 10us, 총 100us가 소요됩니다.

IDLE 라인 인터럽트는 RX 라인에서 1자 비활성을 감지할 때 응용 프로그램에 통보하며, 이는 마지막 문자 후 10us 이후를 의미합니다. 응용 프로그램은 이 이벤트에 반응하고 그에 따라 데이터를 처리할 수 있습니다. STM32 USART_Irq 예제 프로그램은 인터럽트 구동 모드에서 STMicroelectronics STM32F103xx 마이크로 컨트롤러의 USART1을 구성하고 사용하는 방법을 보여줍니다. USART1의 구성은 9600 Baud, 8 데이터 비트, 1 스톱 비트, 패리티 및 흐름 제어 없음입니다. Retargetting는 직렬 입력을 통해 문자를 읽고 직렬 출력에 문자열을 인쇄하는 데 사용됩니다. 데이터 전송/수신을 위해 버퍼 처리가 구현됩니다. 이제 단일 응용 프로그램에서 DMA 및 USART의 모든 기능을 사용할 차례입니다. 응용 프로그램에 의해 20 바이트를 수신 할 것으로 예상되는 이전 예제로 이동하면 (실제로 14 만 수신) 이제 할 수 있습니다 : 버스 설치는 STM32의 모든 주변 장치와 마찬가지로 가장 먼저 해야 할 일은 주변 장치가 적절한 클럭 신호를 받고 있는지 확인하는 것입니다.

핀이 제대로 설정되어 있습니다. USART1은 APB2 주변 버스에 연결되어 있으며 GPIOA에서 핀을 사용합니다. 따라서 GPIOA에 대한 클럭을 활성화해야 합니다. 이 예제에서는 TX 및 RX 핀(각각 PA9 및 PA10)만 사용하므로 구성만 하면 됩니다. TX 핀, PA9는 낮은 주파수 (0b1010)에서 대체 기능을 사용하여 푸시 풀 출력으로 설정해야합니다. RX는 부동 입력(0b0100)으로 기본 상태이지만 응용 프로그램에 적합한 경우 풀업/다운 기능을 사용하도록 설정할 수 있습니다. 마지막으로, APB2 주변 시계는 USART에 대 한 활성화 해야 합니다. 태그: coidecoocoxgpiolibrarymicrocontrollersstmm32f429discoverystm32f4discoverystm32f4discoverystm32f4xxuartusartusartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartartlibrary 이 예는 Keil 평가 위원회 MCBSTM32로 테스트됩니다. 여기서는 마이크로의 UART를 통해 한 가지 더 예제를 살펴보겠습니다. 인프라 현명한 그것은 거의 이전 타이머 LED 예제와 동일.