STM32F103C8T6 מינימום סיסטעם אַנטוויקלונג באָרד
פּראָדוקט אינפֿאָרמאַציע
די STM32F103C8T6 ARM STM32 מינימום סיסטעם אַנטוויקלונג באָרד מאָדולע איז אַ אַנטוויקלונג ברעט באזירט אויף די STM32F103C8T6 מיקראָקאָנטראָללער. עס איז דיזיינד צו זיין פּראָוגראַמד מיט די Arduino IDE און איז קאַמפּאַטאַבאַל מיט פאַרשידן Arduino קלאָונז, ווערייישאַנז און דריט-פּאַרטיי באָרדז ווי די ESP32 און ESP8266.
די ברעט, אויך באקאנט ווי די בלו פּיל באָרד, אַפּערייץ אין אַ אָפטקייַט בעערעך 4.5 מאל העכער ווי אַן Arduino UNO. עס קענען זיין געוויינט פֿאַר פאַרשידן פּראַדזשעקס און קענען זיין קאָננעקטעד צו פּעריפעראַלס אַזאַ ווי TFT דיספּלייז.
די פארלאנגט קאַמפּאָונאַנץ צו בויען פּראַדזשעקס מיט דעם ברעט אַרייַננעמען די STM32 באָרד, FTDI פּראָגראַמיסט, קאָליר טפט אַרויסווייַזן, פּוש קנעפּל, קליין ברעאַדבאָאַרד, ווירעס, מאַכט באַנק (אַפּשאַנאַל פֿאַר סטאַנד-אַליין מאָדע) און וסב צו סיריאַל קאָנווערטער.
סכעמאַטיש
צו פאַרבינדן די STM32F1 ברעט צו די 1.8 ST7735-באזירט בונט TFT ווייַז און אַ שטופּן קנעפּל, נאָכגיין די שטיפט-צו-שפּילקע קאַנעקשאַנז דיסקרייבד אין די צוגעשטעלט סכעמאַטיקס.
באַשטעטיקן די Arduino IDE פֿאַר STM32
- עפֿענען די Arduino IDE.
- גיין צו מכשירים -> באָרד -> באָרד מאַנאַגער.
- אין די דיאַלאָג קעסטל מיט אַ זוכן באַר, זוכן פֿאַר "STM32F1" און ינסטאַלירן די קאָראַספּאַנדינג פּעקל.
- וואַרטן פֿאַר די ינסטאַלירונג פּראָצעדור צו פאַרענדיקן.
- נאָך ייַנמאָנטירונג, די STM32 ברעט זאָל איצט זיין בארעכטיגט פֿאַר סעלעקציע אונטער די Arduino IDE ברעט רשימה.
פּראָגראַממינג STM32 באָרדז מיט די Arduino IDE
זינט זיין אָנהייב, די Arduino IDE האט דעמאַנסטרייטיד די פאַרלאַנג צו שטיצן אַלע מינים פון פּלאַטפאָרמס, פֿון Arduino קלאָונז און ווערייישאַנז פון פאַרשידענע מאַניאַפאַקטשערערז צו דריט-פּאַרטיי באָרדז ווי די ESP32 און ESp8266. ווי מער מענטשן באַקומען באַקאַנט מיט די IDE, זיי אָנהייבן צו שטיצן מער באָרדז וואָס זענען נישט באזירט אויף ATMEL טשיפּס און פֿאַר הייַנט ס טוטאָריאַל מיר וועלן קוקן אין איינער פון אַזאַ באָרדז. מיר וועלן ונטערזוכן ווי צו פּראָגראַם די STM32-באזירט, STM32F103C8T6 אַנטוויקלונג ברעט מיט די Arduino IDE.
די STM32 ברעט צו זיין געוויינט פֿאַר דעם טוטאָריאַל איז קיין אנדערע ווי די STM32F103C8T6 שפּאָן-באזירט STM32F1 אַנטוויקלונג ברעט קאַמאַנלי ריפערד צו ווי "בלוי פּיל" אין שורה מיט די בלוי קאָליר פון זיין פּקב. בלוי פּיל איז פּאַוערד דורך די שטאַרק 32-ביסל STM32F103C8T6 ARM פּראַסעסער, קלאַקט ביי 72MHz. די ברעט אַפּערייץ אויף 3.3 וו לאָגיק לעוועלס אָבער זייַן GPIO פּינס זענען טעסטעד צו זיין 5 וו טאָלעראַנט. כאָטש עס קומט נישט מיט WiFi אָדער בלועטאָאָטה ווי די ESP32 און Arduino וועריאַנץ, עס אָפפערס 20KB פון באַראַן און 64KB פון בליץ זכּרון וואָס מאכט עס טויגן פֿאַר גרויס פּראַדזשעקס. עס אויך פארמאגט 37 GPIO פּינס, פון וואָס 10 קענען זיין געוויינט פֿאַר אַנאַלאָג סענסאָרס זינט זיי האָבן אַדק ענייבאַלד, צוזאַמען מיט אנדערע וואָס זענען ענייבאַלד פֿאַר SPI, I2C, CAN, UART און DMA. פֿאַר אַ ברעט וואָס קאָס אַרום $ 3, איר וועט שטימען מיט מיר אַז דאָס זענען ימפּרעסיוו ספּעקס. א סאַמערייזד ווערסיע פון די ספּעסאַפאַקיישאַנז קאַמפּערד מיט די פון אַ Arduino Uno איז געוויזן אין די בילד אונטן.
באַזירט אויף די ספּעקס אויבן, די אָפטקייַט אין וואָס Blue Pill אַפּערייץ איז וועגן 4.5 מאל העכער ווי אַן Arduino UNO, פֿאַר הייַנט ס טוטאָריאַל, ווי אַן עקס.ampווי צו נוצן די STM32F1 ברעט, מיר וועלן פאַרבינדן עס צו אַ 1.44 ″ TFT אַרויסווייַזן און פּראָגראַם עס צו רעכענען די "Pi" קעסיידערדיק. מיר וועלן באַמערקן ווי לאַנג עס גענומען די ברעט צו באַקומען די ווערט און פאַרגלייַכן עס מיט די צייט עס נעמט אַן Arduino Uno צו דורכפירן די זעלבע אַרבעט.
פארלאנגט קאַמפּאָונאַנץ
די פאלגענדע קאַמפּאָונאַנץ זענען פארלאנגט צו בויען דעם פּרויעקט;
- STM32 ברעט
- FTDI פּראָגראַמיסט
- קאָליר טפט
- דרוק קנעפּל
- קליין ברעאַדבאָאַרד
- ווירעס
- מאַכט באַנק
- וסב צו סיריאַל קאָנווערטער
ווי געוויינטלעך, אַלע די קאַמפּאָונאַנץ געניצט פֿאַר דעם טוטאָריאַל קענען זיין געקויפט פֿון די אַטאַטשט לינקס. די מאַכט באַנק איז אָבער נאָר דארף אויב איר ווילן צו צעוויקלען די פּרויעקט אין אַ סטאַנד-אַליין מאָדע.
סכעמאַטיש
- ווי פריער דערמאנט, מיר וועלן פאַרבינדן די STM32F1 ברעט צו די 1.8 ″ ST7735 באזירט בונט TFT Display צוזאמען מיט אַ שטופּן קנעפּל.
- די שטופּן קנעפּל וועט זיין געניצט צו אָנווייַזן די ברעט צו אָנהייבן דעם כעזשבן.
- פאַרבינדן די קאַמפּאָונאַנץ ווי געוויזן אין די סכעמאַטיש אונטן.
צו מאַכן די קאַנעקשאַנז גרינג צו רעפּלאַקייט, די שטיפט-צו-שפּילקע קאַנעקשאַנז צווישן די STM32 און די אַרויסווייַזן איז דיסקרייבד אונטן.
STM32 - ST7735
גיין איבער די קאַנעקשאַנז אַמאָל ווידער צו זיין זיכער אַז אַלץ איז ווי עס זאָל זיין, ווייַל עס טענדז צו ווערן אַ ביסל טריקי. מיט דעם געטאן, מיר פּראַסידאַד צו שטעלן די STM32 ברעט צו זיין פּראָוגראַמד מיט די Arduino IDE.
באַשטעטיקן די Arduino IDE פֿאַר STM32
- ווי מיט רובֿ באָרדז וואָס זענען נישט געמאכט דורך Arduino, אַ ביסל סעטאַפּ דאַרף זיין געטאן איידער די ברעט קענען זיין געוויינט מיט די Arduino IDE.
- דעם ינוואַלווז ינסטאָלינג די ברעט file אָדער דורך די Arduino באָרד מאַנאַגער אָדער דאַונלאָודינג פון די אינטערנעט און קאַפּיינג די fileס אין די ייַזנוואַרג טעקע.
- די באָרד מאַנאַגער מאַרשרוט איז די ווייניקער טידיאַס און זינט די STM32F1 איז צווישן די ליסטעד באָרדז, מיר וועלן גיין דעם מאַרשרוט. אָנהייב דורך אַדינג די לינק פֿאַר די STM32 ברעט צו די Arduino ייבערהאַנט רשימות.
- גיין צו File -> פּרעפֿערענצן, און אַרייַן דעם URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) אין די קעסטל ווי געוויזן אונטן און גיט OK.
- Now go to Tools -> Board -> Board Manager, it will open a dialogue box with a search bar. זוכן פֿאַר STM32F1 and install the corresponding package.
- די ינסטאַלירונג פּראָצעדור וועט נעמען אַ ביסל סעקונדעס. נאָך דעם, די ברעט זאָל איצט זיין בארעכטיגט פֿאַר סעלעקציע אונטער די Arduino IDE ברעט רשימה.
קאָד
- דער קאָד וועט זיין געשריבן די זעלבע וועג ווי מיר וואָלט שרייַבן קיין אנדערע סקיצע פֿאַר אַ Arduino פּרויעקט, מיט דער בלויז חילוק איז די וועג די פּינס זענען ריפערד צו.
- צו קענען לייכט אַנטוויקלען די קאָד פֿאַר דעם פּרויעקט, מיר וועלן נוצן צוויי לייברעריז וואָס זענען ביידע מאָדיפיקאַטיאָנס פון נאָרמאַל Arduino ליבראַריעס צו מאַכן זיי קאַמפּאַטאַבאַל מיט די STM32.
- מיר וועלן נוצן די מאַדאַפייד ווערסיע פון די Adafruit GFX און די Adafruit ST7735 לייברעריז.
- ביידע לייברעריז קענען זיין דאַונלאָודיד דורך די לינקס אַטאַטשט צו זיי. ווי געוויינטלעך, איך וועל מאַכן אַ קורץ ברייקדאַון פון די קאָד.
- מיר אָנהייבן דעם קאָד דורך ימפּאָרטינג די צוויי לייברעריז וואָס מיר וועלן נוצן.
- דערנאָך, מיר דעפינירן די פּינס פון די STM32 צו וואָס די CS, RST און DC פּינס פון די לקד זענען קאָננעקטעד.
- דערנאָך, מיר מאַכן עטלעכע קאָליר דעפֿיניציע צו מאַכן עס גרינג צו נוצן פֿאַרבן דורך זייער נעמען אין די קאָד שפּעטער אַנשטאָט פון זייער העקס וואַלועס.
- דערנאָך, מיר שטעלן די נומער פון יטעריישאַנז וואָס מיר וועלן די ברעט צו דורכגיין צוזאַמען מיט דער דערפרישן געדויער פֿאַר די פּראָגרעס באַר צו זיין געוויינט.
- מיט דעם דורכגעקאָכט, מיר מאַכן אַ כייפעץ פון די ST7735 ביבליאָטעק וואָס וועט זיין געוויינט צו דערמאָנען די אַרויסווייַזן איבער די גאנצע פּרויעקט.
- מיר אויך אָנווייַזן די שטיפט פון די STM32 צו וואָס די פּושקנעפּל איז קאָננעקטעד און שאַפֿן אַ בייַטעוודיק צו האַלטן זיין שטאַט.
- מיט דעם געטאן, מיר מאַך צו די פּאָסל סעטאַפּ () פֿונקציע.
- מיר אָנהייבן מיט באַשטעטיקן די פּינמאָדע () פון די שטיפט צו וואָס די פּושקנעפּל איז קאָננעקטעד, אַקטאַווייטינג אַן ינערלעך ציען-אַרויף רעסיסטאָר אויף די שטיפט זינט די פּושקנעפּ קאַנעקץ צו דער ערד ווען געדריקט.
- ווייַטער, מיר ינישאַלייז סיריאַל קאָמוניקאַציע און די פאַרשטעלן, באַשטעטיקן די הינטערגרונט פון די אַרויסווייַזן צו שוואַרץ און רופן די דרוק () פונקציע צו אַרויסווייַזן די צובינד.
- ווייַטער איז די פּאָסל שלייף () פֿונקציע. די פּאָסל שלייף פונקציע איז גאַנץ פּשוט און קורץ, דאַנק צו די נוצן פון לייברעריז / פאַנגקשאַנז.
- מיר אָנהייבן דורך לייענען די שטאַט פון די שטופּן קנעפּל. אויב די קנעפּל איז געדריקט, מיר באַזייַטיקן דעם קראַנט אָנזאָג אויף דעם עקראַן ניצן די removePressKeyText () און ציען די טשאַנגינג פּראָגרעס באַר ניצן די drawBar () פֿונקציע.
- דערנאָך, מיר רופן די אָנהייב כעזשבן פונקציע צו באַקומען און אַרויסווייַזן די ווערט פון Pi צוזאַמען מיט די צייט עס גענומען צו רעכענען עס.
- אויב די פּושקנעפּל איז נישט געדריקט, די מיטל סטייז אין ליידיק מאָדע מיט די פאַרשטעלן פארלאנגט אַז אַ שליסל זאָל זיין געדריקט צו ינטעראַקט מיט אים.
- צום סוף, אַ פאַרהאַלטן איז ינסערטאַד אין די סוף פון די שלייף צו געבן אַ ביסל צייט איידער סקעטשינג "לופּס".
- די רוען טייל פון די קאָד איז די פאַנגקשאַנז גערופֿן צו דערגרייכן די טאַסקס פון צייכענונג די באַר צו קאַלקיאַלייטינג די פּי.
- רובֿ פון די פאַנגקשאַנז זענען באדעקט אין עטלעכע אנדערע טוטאָריאַלז וואָס אַרייַנציען די נוצן פון די ST7735 אַרויסווייַזן.
- די גאַנץ קאָד פֿאַר די פּרויעקט איז בנימצא אונטן און איז אַטאַטשט אונטער די אראפקאפיע אָפּטיילונג.
ופּלאָאַדינג קאָד צו די STM32
- ופּלאָאַדינג סקעטשאַז צו די STM32f1 איז אַ ביסל קאָמפּליצירט קאַמפּערד מיט נאָרמאַל Arduino-קאַמפּאַטאַבאַל באָרדז. צו צופֿעליקער קאָד צו די ברעט, מיר דאַרפֿן אַ FTDI-באזירט, וסב-צו סיריאַל קאַנווערטער.
- פאַרבינדן די וסב צו סיריאַל קאַנווערטער צו די STM32 ווי געוויזן אין די סכעמאַטיקס אונטן.
דאָ איז אַ שטיפט-צו-שפּילקע מאַפּע פון די קשר
FTDI - STM32
- מיט דעם געטאן, מיר דעריבער טוישן די שטעלע פון די ברעט ס שטאַט דזשאַמפּער צו שטעלע איינער (ווי געוויזן אין די גיף אונטן), צו שטעלן די ברעט אין פּראָגראַממינג מאָדע.
- דריקן די באַשטעטיק קנעפּל אויף די ברעט אַמאָל נאָך דעם און מיר זענען גרייט צו ופּלאָאַד די קאָד.
- אויף דעם קאָמפּיוטער, מאַכן זיכער אַז איר סעלעקטירן "גענעריק STM32F103C ברעט" און סעלעקטירן סיריאַל פֿאַר די ופּלאָאַד אופֿן נאָך וואָס איר קענען שלאָגן די ופּלאָאַד קנעפּל.
- אַמאָל די ופּלאָאַד איז גאַנץ, טוישן די שטאַט דזשאַמפּער צו שטעלע "אָ" דאָס וועט שטעלן די ברעט אין "לויפן" מאָדע און עס זאָל איצט אָנהייבן פליסנדיק באזירט אויף די ופּלאָאַדעד קאָד.
- אין דעם פונט, איר קענען דיסקאַנעקט די FTDI און מאַכט די ברעט איבער די וסב. אויב דער קאָד קען נישט לויפן נאָך מאַכט, מאַכן זיכער אַז די דזשאַמפּער איז געזונט און ריסייקאַל מאַכט צו די ברעט.
דעמאָ
- מיט דעם קאָד גאַנץ, נאָכגיין די ופּלאָאַד פּראָצעס דיסקרייבד אויבן צו ופּלאָאַד די קאָד צו דיין סעטאַפּ.
- איר זאָל זען די אַרויסווייַזן קומען אַרויף ווי געוויזן אין די בילד אונטן.
- דרוק דעם שטופּן קנעפּל צו אָנהייבן דעם כעזשבן. איר זאָל זען די פּראָגרעס באַר רוק ביסלעכווייַז ביז דעם סוף.
- אין די סוף פון דעם פּראָצעס, די ווערט פון Pi איז געוויזן צוזאמען מיט די צייט וואָס די כעזשבן גענומען.
- דער זעלביקער קאָד איז ימפּלאַמענאַד אויף אַ Arduino Uno. דער רעזולטאַט איז געוויזן אין די בילד אונטן.
- קאַמפּערינג די צוויי וואַלועס, מיר זען אַז "בלוי פּיל" איז איבער 7 מאל פאַסטער ווי די Arduino Uno.
- דאָס מאכט עס ידעאַל פֿאַר פּראַדזשעקס וואָס אַרייַנציען שווער פּראַסעסינג און צייט קאַנסטריינץ.
- די קליין גרייס פון די בלוי פּיל אויך סערוועס ווי אַ אַדוואַנטtagעס איז בלויז אַ ביסל ביגער ווי די Arduino Nano און עס קענען זיין געוויינט אין ערטער ווו די נאַנאָ וועט נישט זיין שנעל גענוג.
דאָקומענטן / רעסאָורסעס
![]() |
STM32 STM32F103C8T6 מינימום סיסטעם אַנטוויקלונג באָרד [pdfבאַניצער מאַנואַל STM32F103C8T6 מינימום סיסטעם אנטוויקלונג באָרד, STM32F103C8T6, מינימום סיסטעם אנטוויקלונג באָרד, סיסטעם אנטוויקלונג באָרד, אנטוויקלונג באָרד, באָרד |