Đăng vào

Lập trình giao tiếp USART với STM32F4

Giới thiệu

Bài viết này sẽ trình bày ví dụ đơn giản lập trình giao tiếp USART trên Kit STM32F4 Discovery. Chương trình được viết trên IDE Keil uVision5, sử dụng thư viện STM32 HAL, sau khi lập trình và nạp code vào kit, phần mềm Eltima Serial Port Monitor được sử dụng để hiển thị dữ liệu truyền nhận. Thư viện STM32 HAL Đầu tiên chúng ta cần download thư viện STM32 HAL tại đây. Sau khi download và giải nén chúng ta được hai thư mục:

  • 00-HAL_DRIVERS
  • 00-STM32_LIBRARIES

Linh kiện sử dụng

Sơ đồ đấu dây

Code C

#include "stm32fxxx_hal.h"
/* Include my libraries here */
#include "defines.h"
#include "stm32_disco.h"
#include "stm32_delay.h"
#include "stm32_usart.h"

int main(void) {
	/* Init system clock for maximum system speed */
	RCC_InitSystem();

	/* Init HAL layer */
	HAL_Init();

	/* Init leds */
	DISCO_LedInit();

	/* Init USART, TX: PC6, RX: PC7, 115200 bauds */
	USART_Init(USART6, USART_PinsPack_1, 115200);

	/* Put test string */
	USART_Puts(USART6, "The initialization was completed\n");

	while (1) {
		/* Check if we have string ".!" in USART6 buffer */
		if (USART_FindString(USART6, ".!") >= 0) {
			USART_Puts(USART6, "Receive:\n");
			/* Send data back from buffer */
			while (!USART_BufferEmpty(USART6)) {
				/* Send to computer */
				USART_Putc(USART6, USART_Getc(USART6));
			}
			USART_Puts(USART6, "\n");
		}
	}
}

Download project Keil uVision5 tại đây và giải nén vào thư muc chứa thư viện HAL

Video demo