Indholdsfortegnelse:
- Trin 1: Krav til software og hardware
- Trin 2: STM32CubeMX -konfiguration
- Trin 3: Softwareudvikling af Keil
- Trin 4: Python -softwareudvikling
- Trin 5: Konklusion
![STM32F4 Discovery Board og Python USART Communication (STM32CubeMx): 5 trin STM32F4 Discovery Board og Python USART Communication (STM32CubeMx): 5 trin](https://i.howwhatproduce.com/images/002/image-4967-55-j.webp)
Video: STM32F4 Discovery Board og Python USART Communication (STM32CubeMx): 5 trin
![Video: STM32F4 Discovery Board og Python USART Communication (STM32CubeMx): 5 trin Video: STM32F4 Discovery Board og Python USART Communication (STM32CubeMx): 5 trin](https://i.ytimg.com/vi/RQNT0-_Iq-o/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
![STM32F4 Discovery Board og Python USART Communication (STM32CubeMx) STM32F4 Discovery Board og Python USART Communication (STM32CubeMx)](https://i.howwhatproduce.com/images/002/image-4967-56-j.webp)
![STM32F4 Discovery Board og Python USART Communication (STM32CubeMx) STM32F4 Discovery Board og Python USART Communication (STM32CubeMx)](https://i.howwhatproduce.com/images/002/image-4967-57-j.webp)
Hej! I denne vejledning vil vi forsøge at etablere USART -kommunikation mellem STM32F4 ARM MCU og Python (den kan erstattes af ethvert andet sprog). Så lad os komme i gang:)
Trin 1: Krav til software og hardware
Med hensyn til hardware har du brug for:
- STM32F4 Discovery Board (eller ethvert andet STM32 -kort)
- USB til TTL konverter
Med hensyn til software:
- STM32CubeMX
- Keil uVision5
- Python med serielt bibliotek installeret
Trin 2: STM32CubeMX -konfiguration
Lad os først forstå, hvad vi vil gøre. Vi ønsker at overføre data til board fra Python over USART og kontrollere, om vi har korrekte data og skifte led. Så vi skal aktivere USART og Led.
-
Aktiver USART2 fra fanen Forbindelser.
- Skift tilstand til asynkron
- Baudhastighed til 9600 Bits/s
- Ordlængde til 8 bits uden paritet
- Ingen paritetsbit
- Fra DMA -indstillinger tilføj USART2_RX i cicular mode
- Aktiver USART2 global afbrydelse fra NVIC -indstillinger
- Aktiver LED ved at klikke på PD12
Så generer kode:)
Trin 3: Softwareudvikling af Keil
#omfatte
#omfatte
Disse biblioteker vil være nødvendige i strengoperationer og for at definere boolsk variabel.
/ *BRUGERKODE BEGYNNER 2 */ HAL_UART_Receive_DMA (& huart2, (uint8_t *) data_buffer, 1); / * BRUGERKODE SLUT 2 */
Her startede UART -modtagelse med DMA.
/ *BRUGERKODE BEGYNNER 4 */void HAL_UART_RxCpltCallback (UART_HandleTypeDef *huart) {/ *Forhindrer ubrugte argumenter for kompilering */UBRUGT (huart); / * BEMÆRK: Denne funktion bør ikke ændres, når tilbagekald er nødvendig, kunne HAL_UART_RxCpltCallback implementeres i brugerfilen */ if (data_buffer [0]! = '\ N') {data_full [index_] = data_buffer [0]; indeks _ ++; } andet {index_ = 0; færdig = 1; } // HAL_UART_Transmit (& huart2, data_buffer, 1, 10); } / * BRUGERKODE SLUT 4 * /
Dette er ISR, som aktiveres, når vi får en byte karakter. Så. vi får den byte og skriver den til data_full, som indeholder de fulde modtagne data, indtil vi får '\ n'. Når vi får '\ n' laver vi færdigt flag 1 og in while loop:
mens (1) { / * BRUGERKODE SLUTT MED * / hvis (færdig) {if (strcmp (data_full, cmp_) == 0) {HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_12); } memset (data_full, '\ 0', strlen (data_full)); færdig = 0; } andet {_NOP (); } / * BRUGERKODE BEGYNDER 3 * /}
Hvis færdigt flag er HØJ, sammenligner vi indholdet af fuldt modtagne data og data, vi ønsker, og hvis de er ens, skifter vi led. Derefter rydder vi færdigt flag og venter på nye data og rydder også data_full -arrayet for ikke at overskrive til arrayet.
Trin 4: Python -softwareudvikling
Så her vil vi sende vores nummer med '/n' i slutningen, fordi Keil -software skal se det for at kende slutningen.
import seriel
ser = serial. Serial ('COM17') #tjek den port på din enhed fra Enhedshåndtering
ser.write (b'24 / n ')
Du bør se, at LED'en skifter hver gang du sender '24 / n '. Hvis du sender noget andet, bør det ikke påvirke det.
Trin 5: Konklusion
Vi har nået slutningen af selvstudiet. hvis du har et problem eller spørgsmål, tøv ikke med at spørge. Jeg vil prøve at hjælpe så meget jeg kan. Mange tak:)
Anbefalede:
Servomotorstyring med STM32F4 ARM MCU: 4 trin
![Servomotorstyring med STM32F4 ARM MCU: 4 trin Servomotorstyring med STM32F4 ARM MCU: 4 trin](https://i.howwhatproduce.com/images/002/image-5731-22-j.webp)
Servomotorstyring med STM32F4 ARM MCU: Hej igen venner :) Så i dette projekt vil vi styre en servomotor med STM32F4 ARM MCU. I mit tilfælde vil jeg bruge discovery board, men hvis du forstår kernen i problemet, kan du anvende det på hver MCU. Så. Lad os komme igang:)
ESP8266 og Python Communication For Noobs: 6 trin
![ESP8266 og Python Communication For Noobs: 6 trin ESP8266 og Python Communication For Noobs: 6 trin](https://i.howwhatproduce.com/images/004/image-10322-36-j.webp)
ESP8266 og Python Communication For Noobs: Denne vejledning giver dig mulighed for at hente data fra ESP8266 og styre den over python uden AT -kommandoer. For begyndere er de fleste vejledninger om brug af ESP8266 hårde, fordi de vil have dig til at blinke “PÅ KOMMANDOER”I chip, som er: Unødvendigt spild
UCL -Embedded -Relay Communication Box: 5 trin
![UCL -Embedded -Relay Communication Box: 5 trin UCL -Embedded -Relay Communication Box: 5 trin](https://i.howwhatproduce.com/images/001/image-1028-54-j.webp)
UCL -Embedded -Relay Communication Box: Hovedideen med dette projekt er at styre et sæt af to relæer og en DHT11 -sensor med en Blynk -app ved hjælp af WiFi -kommunikation og en Nodmcu esp8266 mikrokontroller
HC-08 Bluetooth UART Communication Module V2.4 Brugervejledning: 9 trin
![HC-08 Bluetooth UART Communication Module V2.4 Brugervejledning: 9 trin HC-08 Bluetooth UART Communication Module V2.4 Brugervejledning: 9 trin](https://i.howwhatproduce.com/images/001/image-13-71-j.webp)
HC-08 Bluetooth UART-kommunikationsmodul V2.4 Brugervejledning: Produktindledning Bluetooth-modem-Minimum pass-through-modul HC08 er en ny generations datatransmissionsmodul baseret på Bluetooth Specification V4.0 BLE-protokol. Dets trådløse arbejdsfrekvensbånd er 2,4 GHz ISM med GFSK -moduleringsmetode. Den
Hastighedskontrol af DC -motor ved hjælp af PID -algoritme (STM32F4): 8 trin (med billeder)
![Hastighedskontrol af DC -motor ved hjælp af PID -algoritme (STM32F4): 8 trin (med billeder) Hastighedskontrol af DC -motor ved hjælp af PID -algoritme (STM32F4): 8 trin (med billeder)](https://i.howwhatproduce.com/images/001/image-1303-80-j.webp)
Hastighedskontrol af jævnstrømsmotor ved hjælp af PID -algoritme (STM32F4): hej alle sammen, dette er tahir ul haq med et andet projekt. Denne gang er det STM32F407 som MC. Dette er et afslutning på midt semester projekt. Håber du kan lide det. Det kræver mange begreber og teori, så vi går først ind på det. Med fremkomsten af computere og