Vì vậy, tuần vừa qua tôi đã làm việc để nhận các tin nhắn UART được gửi từ STM32F407 và đọc nó trên máy tính xách tay của tôi thông qua cáp USB từ ugreen đến USB bằng cách sử dụng mối.
Tôi đã sử dụng STMCube để tạo mã và thêm vào nó bằng cách đọc các hướng dẫn liên quan ở đầu tệp "stm32f4xx_hal_uart.c" (và xem nhiều video và đọc trực tuyến).
Tôi đã kiểm tra thông điệp truyền đi trên máy hiện sóng và nó phù hợp với đại diện ASCII của nó.
Ví dụ: tôi gửi 'Q' là 0101 0001, tôi nhận được 'W' là 0101 0111. Việc đọc trên phạm vi hiển thị:
Đầu ra mối cho tín hiệu tương tự như hiển thị trên máy hiện sóng.
Tôi đã xác nhận tốc độ baud / parity / HWcontrol phù hợp với mối và trong mã của tôi.
Để nhận được ký tự chính xác, tôi đã thử hạ thấp và tăng tốc độ baud.
Tôi đã thử các bộ ký tự khác nhau để cố gắng tìm một mẫu khiến các ký tự sai được hiển thị.
Ngoài ra, tôi đã thử các thiết bị đầu cuối khác nhau như trên Putty hoặc Teraterm.
1
biểu tượng có nền màu vàng bên trái dấu vết - đó là mức 0V) và sau đó xung dưới 0V. Điều đó sẽ không đúng với tín hiệu logic trực tiếp từ STM32 và thực tế, điều đó không đúng. Nhìn ở góc dưới bên trái, bạn đã đặt khớp kênh 1 thành AC (đó là ~
biểu tượng bạn thấy ở đó). Tín hiệu thực sự ở mức cao và dao động trong khoảng 0V. Sử dụng khớp nối DC cho chế độ xem lành mạnh của tín hiệu đó.