Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:13
Hi! Sa tutorial na ito susubukan naming magtaguyod ng komunikasyon sa USART sa pagitan ng STM32F4 ARM MCU at Python (maaari itong mapalitan ng anumang ibang wika). Kaya, magsimula na tayo:)
Hakbang 1: Mga Kinakailangan sa Software at Hardware
Sa mga tuntunin ng hardware na kailangan mo:
- STM32F4 Discovery Board (o anumang iba pang board ng STM32)
- USB sa TTL converter
Sa mga tuntunin ng software:
- STM32CubeMX
- Keil uVision5
- Python na may naka-install na serial library
Hakbang 2: Pag-configure ng STM32CubeMX
Unawain muna natin kung ano ang gusto nating gawin. Nais naming magpadala ng data upang makasakay mula sa Python sa paglipas ng USART at suriin kung mayroon kaming tamang data at pinamunuan ang toggle. Kaya, kailangan naming paganahin ang USART at Led.
-
Paganahin ang USART2 mula sa tab na Pagkakonekta.
- Baguhin ang mode sa Asynchoronous
- Baud rate sa 9600 Bits / s
- Haba ng salita sa 8 Bits na walang pagkakapantay-pantay
- Walang parity bit
- Mula sa mga setting ng DMA idagdag ang USART2_RX sa cicular mode
- Mula sa Mga Setting ng NVIC, paganahin ang USART2 pandaigdigang makagambala
- Paganahin ang LED sa pamamagitan ng pag-click sa PD12
Pagkatapos makabuo ng code:)
Hakbang 3: Pag-unlad ng Keil Software
# isama
# isama
Ang mga libraryong ito ay kinakailangan sa mga pagpapatakbo ng string at upang tukuyin ang variable ng boolean.
/ * USER CODE BEGIN 2 * / HAL_UART_Receive_DMA (& huart2, (uint8_t *) data_buffer, 1); / * USER CODE END 2 * /
Dito, nagsimula ang pagtanggap ng UART kasama ang DMA.
/ * USER CODE BEGIN 4 * / void HAL_UART_RxCpltCallback (UART_HandleTypeDef * huart) {/ * Pigilan ang (mga) hindi nagbigay ng babalang babala * / UNUSED (huart); / * TANDAAN: Ang pagpapaandar na ito ay hindi dapat mabago, kung kinakailangan ang callback, maaaring ipatupad ang HAL_UART_RxCpltCallback sa file ng gumagamit * / kung (data_buffer [0]! = '\ N') {data_full [index_] = data_buffer [0]; index _ ++; } iba pa {index_ = 0; tapos = 1; } // HAL_UART_Transmit (& huart2, data_buffer, 1, 10); } / * USER CODE END 4 * /
Ito ang ISR na naaktibo kapag nakakakuha kami ng isang byte ng character. Kaya naman nakukuha namin ang byte na iyon at isulat ito sa data_full na naglalaman ng buong natanggap na data hanggang makuha namin ang '\ n'. Kapag nakuha namin ang '\ n' tapos na namin ang flag 1 at habang habang loop:
habang (1) {/ * USER CODE END WHILE * / if (tapos) {if (strcmp (data_full, cmp_) == 0) {HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_12); } memset (data_full, '\ 0', strlen (data_full)); tapos = 0; } iba pa {_NOP (); } / * USD CODE BEGIN 3 * /}
Kung ang natapos na watawat ay TAAS ihinahambing namin ang mga nilalaman ng buong natanggap na data at data na nais namin at kung pantay ang mga ito pinapalitan namin ang humantong. Pagkatapos nito ay tinanggal namin ang natapos na bandila at maghintay para sa bagong data at i-clear din ang data_full na array upang hindi ma-overlap sa array.
Hakbang 4: Pag-unlad ng Python Software
Kaya, dito nais naming ipadala ang aming numero na may '/ n' sa dulo, dahil kailangan itong makita ng Keil software upang malaman ang katapusan.
mag-import ng serial
ser = serial. Serial ('COM17') #check ang port na iyon sa iyong aparato mula sa Device Manager
ser.write (b'24 / n ')
Dapat mong makita na ang mga toggle ng LED sa tuwing magpapadala ka ng '24 / n '. Kung magpapadala ka ng anumang bagay hindi ito dapat makakaapekto dito.
Hakbang 5: Konklusyon
Narating namin ang pagtatapos ng tutorial. kung mayroon kang anumang problema o katanungan mangyaring huwag mag-atubiling magtanong. Susubukan kong tumulong hangga't makakaya ko. Maraming salamat:)
Inirerekumendang:
Ang SmartHome Wireless Communication: ang Extreme Basics ng MQTT: 3 Hakbang
Ang SmartHome Wireless Communication: ang Extreme Basics ng MQTT: Mga Pangunahing Kaalaman sa MQTT: ** Gagawin ko ang isang serye sa Home Automation, dadaanin ko ang mga hakbang na kinuha ko upang malaman ang lahat ng nagawa ko sa hinaharap. Ang Instructable na ito ay ang batayan sa kung paano mag-set up ng MQTT para magamit sa aking hinaharap na Mga Instructable. Howeve
Servo Motor Control Sa STM32F4 ARM MCU: 4 na Hakbang
Servo Motor Control Sa STM32F4 ARM MCU: Kumusta ulit mga kaibigan :) Kaya, sa proyektong ito makokontrol namin ang isang servo motor na may STM32F4 ARM MCU. Sa aking kaso, gagamitin ko ang board ng pagtuklas, ngunit kung mauunawaan mo ang kabuuan ng problema, maaari mo itong ilapat para sa bawat MCU. Kaya naman Magsimula na tayo:)
PIC MCU at Python Serial Communication: 5 Mga Hakbang
PIC MCU at Python Serial Communication: Kumusta, guys! Sa proyektong ito susubukan kong ipaliwanag ang aking mga eksperimento sa PIC MCU at Python serial na komunikasyon. Sa paglipas ng internet, maraming mga tutorial at video kung paano makipag-usap sa PIC MCU sa virtual terminal na napaka kapaki-pakinabang. Howev
Serial Communication ng Arduino at Python - Display ng Keypad: 4 na Hakbang
Serial Communication ng Arduino at Python - Display ng Keypad: Ang Proyekto na ito ay ginawa para sa mga gumagamit ng mac ngunit maaari rin itong ipatupad para sa Linux at Windows, ang tanging hakbang na dapat na magkakaiba ay ang pag-install
Speed Control ng DC Motor Gamit ang PID Algorithm (STM32F4): 8 Hakbang (na may Mga Larawan)
Speed Control ng DC Motor Paggamit ng PID Algorithm (STM32F4): hello sa lahat, Ito ay tahir ul haq sa ibang proyekto. Sa oras na ito ay STM32F407 bilang MC. Ito ay isang pagtatapos ng proyekto ng kalagitnaan ng semestre. Sana magustuhan mo ito. Nangangailangan ito ng maraming konsepto at teorya kaya't pinupuntahan muna natin ito. Sa pag-usbong ng mga computer at