תוכן עניינים:
- שלב 1: דרישות תוכנה וחומרה
- שלב 2: תצורת STM32CubeMX
- שלב 3: פיתוח תוכנת Keil
- שלב 4: פיתוח תוכנת פייתון
- שלב 5: מסקנה
וִידֵאוֹ: לוח גילוי STM32F4 ותקשורת Python USART (STM32CubeMx): 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
היי! במדריך זה ננסה ליצור תקשורת USART בין STM32F4 ARM MCU לבין פייתון (ניתן להחליף אותה בכל שפה אחרת). אז בואו נתחיל:)
שלב 1: דרישות תוכנה וחומרה
מבחינת חומרה אתה צריך:
- לוח גילוי STM32F4 (או כל לוח STM32 אחר)
- ממיר USB ל TTL
מבחינת תוכנה:
- STM32CubeMX
- Keil uVision5
- פייתון עם ספרייה טורית מותקנת
שלב 2: תצורת STM32CubeMX
ראשית הבה נבין מה אנו רוצים לעשות. אנו רוצים להעביר נתונים ללוח מ- Python באמצעות USART ולבדוק אם יש לנו נתונים נכונים והחלפת LED. אז, אנחנו צריכים לאפשר USART ולד.
-
אפשר USART2 מהכרטיסייה קישוריות.
- שנה מצב לאסינכרוני
- קצב שידור עד 9600 סיביות/שניות
- אורך המילה עד 8 ביטים ללא זוגיות
- בלי קצת זוגיות
- מהגדרות DMA הוסף USART2_RX במצב cicular
- מהגדרות NVIC אפשר הפסקת USART2 העולמית
- אפשר LED על ידי לחיצה על PD12
אז צור קוד:)
שלב 3: פיתוח תוכנת Keil
#לִכלוֹל
#לִכלוֹל
ספריות אלה יהיו נחוצות בפעולות מחרוזת ובהגדרת משתנה בוליאני.
/ *CODE USER BEGIN 2 */ HAL_UART_Receive_DMA (& huart2, (uint8_t *) data_buffer, 1); / * סיום קוד משתמש 2 */
כאן, UART לקבל עם DMA התחיל.
/ *CODE USER BEGIN 4 */void HAL_UART_RxCpltCallback (UART_HandleTypeDef *huart) {/ *מניעת אזהרת אוסף טיעונים שאינם בשימוש */UNUSED (huart); / * הערה: אין לשנות פונקציה זו, כאשר יש צורך בחיוג חוזר, ניתן ליישם את HAL_UART_RxCpltCallback בקובץ המשתמש */ if (data_buffer [0]! = '\ N') {data_full [index_] = data_buffer [0]; אינדקס _ ++; } אחר {index_ = 0; סיים = 1; } // HAL_UART_ שידור (& huart2, data_buffer, 1, 10); } / * סיום קוד משתמש 4 * /
זהו ISR המופעל כאשר אנו מקבלים בתים אחד של תו. לכן. אנו מקבלים את הבייט הזה וכותבים אותו ל- data_full המכיל את הנתונים שהתקבלו במלואם עד שנקבל '\ n'. כאשר אנו מקבלים '\ n' אנו מסיימים את הדגל 1 ולולאה תוך כדי:
בעוד (1) { / * END CODE USER WHILE * / if (הסתיים) {if (strcmp (data_full, cmp_) == 0) {HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_12); } memset (data_full, '\ 0', strlen (data_full)); סיים = 0; } אחר {_NOP (); } / * קוד משתמש התחיל 3 * /}
אם הדגל המוגמר הוא גבוה אנו משווים את תכולת הנתונים שהתקבלו במלואם ונתונים שאנו מעוניינים בהם ואם הם שווים אנו מחליפים לד. לאחר מכן אנו מנקים את הדגל המוגמר ומחכים לנתונים חדשים וגם מנקים את מערך data_full כדי לא להחליף למערך.
שלב 4: פיתוח תוכנת פייתון
אז כאן אנחנו רוצים לשלוח את המספר שלנו עם '/n' בסוף, כי תוכנת Keil תצטרך לראות אותו כדי לדעת את הסוף.
ייבוא סדרתי
ser = serial. Serial ('COM17') #בדוק את היציאה במכשיר שלך ממנהל ההתקנים
ser.write (b'24 / n ')
אתה אמור לראות כי נורית ה- LED מתחלפת בכל פעם שאתה שולח '24 / n '. אם אתה שולח משהו אחר זה לא אמור להשפיע עליו.
שלב 5: מסקנה
הגענו לסוף ההדרכה. אם יש לך בעיה או שאלה, אנא אל תהסס לשאול. אנסה לעזור כמה שאוכל. תודה רבה לך:)
מוּמלָץ:
לוח ה- ThreadBoard (גרסה שאינה מודפסת בתלת-מימד): לוח אב טיפוס מהיר של טקסטיל: 4 שלבים (עם תמונות)
לוח ה- ThreadBoard (גרסה שאינה מודפסת בתלת-מימד): לוח אב טיפוס מהיר של טקסטיל E: ניתן למצוא כאן את גרסת ה- ThreadBoard V2 להדפסה תלת-ממדית. ניתן למצוא כאן גרסה 1 של ה- ThreadBoard. למרות מכשולי העלות, נסיעות, מגיפות ומחסומים אחרים, ייתכן שאין לך גישה למדפסת תלת מימד אך תרצה ש
לוח החוטים: לוח אב טיפוס מהיר של טקסטיל: 5 שלבים (עם תמונות)
ניתן למצוא כאן את ThreadBoard: לוח אב טיפוס מהיר של טקסטיל: לוח ה- ThreadBoard הוא לוח לחם מגנטי למחשוב מוטבע המאפשר לאב טיפוס מהיר של טקסטיל אלקטרוני
ארדואינו ותקשורת Bluetooth ניידת (מסנג'ר): 8 שלבים
ארדואינו ותקשורת Bluetooth ניידת (שליח): תקשורת משחקת גורם חשוב בחיי היום יום שלנו. אבל בתקופות אלה של נעילה תקשורת עם המשפחה שלנו או תקשורת עם אנשים בבית שלנו לפעמים זקוקים לטלפונים ניידים. אבל שימוש בטלפונים ניידים עבור קצר
לוח לוח לוח: 7 שלבים
לוח לוח: לפני זמן רב מאוד מצאתי כותב NC של Rotring ללא הבקר. שכחתי לגמרי מה אני רוצה לעשות עם זה, אבל בשבוע שעבר מצאתי אותו שוב ואני רוצה להכין ממנו מגש לוח. כתב היד האישי שלי על הלוח הוא לא
PIC MCU ותקשורת סדרתית של פייתון: 5 שלבים
PIC MCU ותקשורת סדרתית של פייתון: שלום, חבר'ה! בפרויקט זה אנסה להסביר את הניסויים שלי בנושא PIC MCU ותקשורת טורית של פייתון. באינטרנט, יש הרבה הדרכות וסרטונים כיצד לתקשר עם PIC MCU דרך מסוף וירטואלי וזה מאוד שימושי. הוב