Mục lục:
- Bước 1: Yêu cầu phần mềm và phần cứng
- Bước 2: Cấu hình STM32CubeMX
- Bước 3: Phát triển phần mềm Keil
- Bước 4: Phát triển phần mềm Python
- Bước 5: Kết luận
Video: Bảng khám phá STM32F4 và Giao tiếp USART Python (STM32CubeMx): 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Chào! Trong hướng dẫn này, chúng tôi sẽ cố gắng thiết lập giao tiếp USART giữa STM32F4 ARM MCU và Python (nó có thể được thay thế bằng bất kỳ ngôn ngữ nào khác). Vậy hãy bắt đầu:)
Bước 1: Yêu cầu phần mềm và phần cứng
Về phần cứng bạn cần:
- Bảng khám phá STM32F4 (hoặc bất kỳ bảng STM32 nào khác)
- Bộ chuyển đổi USB sang TTL
Về phần mềm:
- STM32CubeMX
- Keil uVision5
- Python với thư viện nối tiếp được cài đặt
Bước 2: Cấu hình STM32CubeMX
Trước tiên, hãy hiểu những gì chúng ta muốn làm. Chúng tôi muốn truyền dữ liệu tới bảng từ Python qua USART và kiểm tra xem chúng tôi có dữ liệu chính xác hay không và chuyển đổi đèn led. Vì vậy, chúng ta cần bật USART và Led.
-
Bật USART2 từ tab Kết nối.
- Thay đổi chế độ thành Không đồng bộ
- Tốc độ truyền tới 9600 Bits / s
- Độ dài từ đến 8 bit không tính chẵn lẻ
- Không có bit chẵn lẻ
- Từ cài đặt DMA, thêm USART2_RX ở chế độ thấu kính
- Từ Cài đặt NVIC cho phép ngắt toàn cầu USART2
- Bật đèn LED bằng cách nhấp vào PD12
Sau đó tạo mã:)
Bước 3: Phát triển phần mềm Keil
#bao gồm
#bao gồm
Các thư viện này sẽ cần thiết trong các hoạt động chuỗi và để xác định biến boolean.
/ * MÃ NGƯỜI DÙNG BEGIN 2 * / HAL_UART_Receive_DMA (& huart2, (uint8_t *) data_buffer, 1); / * MÃ NGƯỜI DÙNG KẾT THÚC 2 * /
Tại đây, quá trình nhận UART với DMA đã bắt đầu.
/ * MÃ NGƯỜI DÙNG BẮT ĐẦU 4 * / void HAL_UART_RxCpltCallback (UART_HandleTypeDef * huart) {/ * Ngăn cảnh báo biên dịch (các) đối số không sử dụng * / UNUSED (huart); / * LƯU Ý: Không nên sửa đổi chức năng này, khi cần gọi lại, HAL_UART_RxCpltCallback có thể được triển khai trong tệp người dùng * / if (data_buffer [0]! = '\ N') {data_full [index_] = data_buffer [0]; chỉ số _ ++; } else {index_ = 0; xong = 1; } // HAL_UART_Transmit (& huart2, data_buffer, 1, 10); } / * MÃ NGƯỜI DÙNG KẾT THÚC 4 * /
Đây là ISR được kích hoạt khi chúng ta nhận được một byte ký tự. Vì thế. chúng tôi lấy byte đó và ghi nó vào data_full chứa toàn bộ dữ liệu đã nhận cho đến khi chúng tôi nhận được '\ n'. Khi chúng ta nhận được '\ n', chúng ta tạo cờ 1 và trong vòng lặp while:
while (1) {/ * USER CODE END WHILE * / if (finish) {if (strcmp (data_full, cmp_) == 0) {HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_12); } memset (data_full, '\ 0', strlen (data_full)); xong = 0; } else {_NOP (); } / * MÃ NGƯỜI DÙNG BẮT ĐẦU 3 * /}
Nếu cờ hoàn thành là CAO, chúng tôi so sánh nội dung của dữ liệu đã nhận đầy đủ và dữ liệu mà chúng tôi mong muốn và nếu chúng bằng nhau, chúng tôi sẽ chuyển sang dẫn. Sau đó, chúng ta xóa cờ đã hoàn thành và đợi dữ liệu mới và cũng xóa mảng data_full để không ghi đè lên mảng.
Bước 4: Phát triển phần mềm Python
Vì vậy, ở đây chúng tôi muốn gửi số của chúng tôi với '/ n' ở cuối, vì phần mềm Keil sẽ cần phải xem nó để biết kết thúc.
nhập nối tiếp
ser = serial. Serial ('COM17') # kiểm tra cổng đó trên thiết bị của bạn từ Trình quản lý thiết bị
ser.write (b'24 / n ')
Bạn sẽ thấy đèn LED đó bật tắt mỗi khi bạn gửi '24 / n '. Nếu bạn gửi bất cứ thứ gì khác, nó sẽ không ảnh hưởng đến nó.
Bước 5: Kết luận
Chúng tôi đã đến phần cuối của hướng dẫn. nếu bạn có bất kỳ vấn đề hoặc câu hỏi xin vui lòng hỏi. Tôi sẽ cố gắng giúp đỡ nhiều nhất có thể. Cám ơn rất nhiều:)
Đề xuất:
Giao tiếp nối tiếp PIC MCU và Python: 5 bước
PIC MCU và Python Serial Communication: Xin chào, các bạn! Trong dự án này, tôi sẽ cố gắng giải thích các thử nghiệm của tôi về PIC MCU và giao tiếp nối tiếp Python. Trên internet, có rất nhiều hướng dẫn và video về cách giao tiếp với PIC MCU qua thiết bị đầu cuối ảo rất hữu ích. Howev
Giao tiếp nối tiếp Arduino và Python - Hiển thị bàn phím: 4 bước
Giao tiếp nối tiếp Arduino và Python - Hiển thị bàn phím: Dự án này được thực hiện cho người dùng mac nhưng nó cũng có thể được thực hiện cho Linux và Windows, bước duy nhất nên khác là cài đặt
Giao tiếp nối tiếp không dây bằng Bluefruit: 4 bước
Giao tiếp nối tiếp không dây sử dụng Bluefruit: Đây là hướng dẫn từng bước đơn giản để thay thế dây của bạn bằng kết nối bluetooth năng lượng thấp: Tôi đã mất một lúc để tìm ra điều này vì hầu như không có bất kỳ tài liệu nào về việc này với công nghệ năng lượng thấp bluetooth hiện đại như vậy với tư cách là Bluefrui
Bảng điều khiển ánh sáng tùy chỉnh có thể đeo (Khóa học khám phá công nghệ - TfCD - Tu Delft): 12 bước (có hình ảnh)
Bảng điều khiển ánh sáng tùy chỉnh có thể đeo được (Khóa học khám phá công nghệ - TfCD - Tu Delft): Trong Tài liệu hướng dẫn này, bạn sẽ học cách tạo hình ảnh sáng cho riêng mình mà bạn có thể mặc! Điều này được thực hiện bằng cách sử dụng công nghệ EL phủ một lớp decal vinyl và gắn các dải vào nó để bạn có thể đeo nó quanh cánh tay của mình. Bạn cũng có thể thay đổi các phần của p
Giao tiếp nối tiếp bằng ARM Cortex-M4: 4 bước
Giao tiếp nối tiếp sử dụng ARM Cortex-M4: Đây là một dự án dựa trên bảng mạch chủ sử dụng ARM Cortex-M4 (Texas Instruments EK-TM4C123GXL) cho Giao tiếp nối tiếp sử dụng Thiết bị đầu cuối ảo. Đầu ra có thể thu được trên Màn hình LCD 16x2 và đầu vào cho Giao tiếp nối tiếp có thể được cung cấp trong Serial Mo