
Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-23 12:54

Blue Pill, çox ucuz çılpaq sümüklü ARM inkişaf lövhəsidir. 64 kbayt flash və 20 kb RAM yaddaşına sahib olan bir STM32F103C8 prosessoru var. 72 MHz -ə qədər işləyir və ARM quraşdırılmış proqram inkişafına daxil olmağın ən ucuz yoludur.
Bir çox nümunə layihə və Auduino mühitindən istifadə edərək Blue Pill lövhəsinin proqramlaşdırılmasını necə izah etmək olar. Bu işləyir və başlamağın bir yolu olsa da, məhdudiyyətləri var. Arduino mühiti sizi əsas aparatdan bir qədər qoruyur - bu onun dizayn məqsədidir. Bu səbəbdən prosessorun təklif etdiyi bütün xüsusiyyətlərdən istifadə edə bilməyəcəksiniz və real vaxt əməliyyat sistemini birləşdirmək əslində dəstəklənmir. Bu o deməkdir ki, Arduino mühiti sənayedə geniş istifadə olunmur. Daxili proqram inkişafında karyera qurmaq istəyirsinizsə, Arduino yaxşı bir başlanğıc yeridir, ancaq sənayedə istifadə olunan bir inkişaf mühitinə keçməlisiniz. ST, prosessorları üçün STM32CubeIDE adlı tamamilə pulsuz bir inkişaf mühiti paketi təmin edir. Bu sənayedə geniş istifadə olunur, buna görə hərəkət etmək yaxşıdır.
Bununla birlikdə, bu böyükdür, STM32CubeIDE qorxunc dərəcədə mürəkkəbdir və istifadə etmək üçün çətin bir proqramdır. ST -nin bütün prosessorlarının bütün xüsusiyyətlərini dəstəkləyir və Arduino IDE -də rast gəlmədiyiniz bir şəkildə konfiqurasiya etməyə imkan verir, çünki hamısı sizin üçündür.
Lövhənizi STM32CubeIDE -də ilk addım olaraq qurmalısınız. IDE, ST -nin öz inkişaf lövhələrini bilir və bunları sizin üçün qurur, ancaq Blue Pill, bir ST prosessorundan istifadə edərkən, bir ST məhsulu deyil, buna görə də burada özünüz varsınız.
Bu təlimat, Blue Pill lövhənizi qurma, seriyalı bir portu işə salma və bəzi mətn yazma prosesindən keçir. Çox deyil, amma vacib bir ilk addımdır.
Təchizat
STM32CubeIDE - ST veb saytından yükləyin. Qeydiyyatdan keçməlisiniz və yükləmək üçün bir az vaxt lazımdır.
Mavi həb lövhəsi. Onları ebay -dan əldə edə bilərsiniz. Bəzilərində olmadığı kimi əsl ST prosessoru olan birinə ehtiyacınız var. Ebay -da şəkli böyüdün və prosessorda ST loqotipini axtarın.
E-dən bir neçə lirəyə satılan ST-LINK v2 ayıklayıcı/proqramçı.
Çıxış üçün USB 3.3V -dən FTDI TTL -ə qədər serial kabel və onu birləşdirmək üçün 2 kişi -qadın başlıq telləri.
PuTTY kimi seriyalı terminal proqramı.
Addım 1: Yeni Layihə Yaratmaq


- STM32CubeIDE başladın və sonra menyudan Fayl | Yeni | STM32 Layihəsi seçin.
- Parça Nömrəsi Axtarış qutusuna STM32F103C8 daxil edin.
- MCU/MPU siyahısında STM32F103C8 görməlisiniz. Yuxarıdakı şəkildəki kimi bu xətti seçin.
- Sonrakı düyməsini basın.
- Layihə Quraşdırma dialoqunda layihəyə bir ad verin.
- Qalan hər şeyi olduğu kimi buraxın və Finish düyməsini basın. Layihəniz, Explorer Explorer bölməsində solda görünəcək.
Addım 2: Prosessoru konfiqurasiya edin




- Project Explorer bölməsində layihənizi açın və.ioc faylını iki dəfə vurun.
- Layihə və Konfiqurasiya sekmesinde Sistem Nüvəsini genişləndirin, sonra SYS seçin.
- Debug açılan SYS rejimi və Konfiqurasiya altında Serial Tel seçin.
- İndi yuxarıda seçdiyiniz SYS -in üstündəki System Core siyahısında RCC seçin.
- Yüksək Sürətli Saatdan (HSE) açılan RCC rejimi və Konfiqurasiya altında Kristal/Seramik Rezonatoru seçin.
- İndi yenidən Kateqoriyalar altında Bağlantıyı açın və USART2 seçin.
- USART2 Rejimi və Konfiqurasiya altında Moddan açılan menyudan Asenkron seçin.
- İndi Saat Konfiqurasiyası sekmesini seçin və növbəti addıma keçin.
Addım 3: Saatların Konfiqurasiyası

İndi olduqca çətin bir saat diaqramını görə bilərsiniz, ancaq bunun yalnız bir dəfə qurulması lazımdır. Diaqram kompleks olduğu üçün burada təsvir etmək ən çətindir. Dəyişdirməyiniz lazım olan hər şey yuxarıdakı şəkildə vurğulanmışdır.
- Mavi Həb lövhəsi, lövhədə 8 MHz kristal ilə gəlir və bu, saat konfiqurasiya diaqramının təyin etdiyi şeydir, buna görə bunu dəyişdirməyimizə ehtiyac yoxdur.
- PLL Source Mux altında daha aşağı olanı seçin HSE.
- Yalnız sağa PLLMul'u X9 olaraq təyin edin.
- Yenidən sağdakı Sistem Saatı Mux altında PLLCLK seçin.
- APB1 Prescalar altında yenidən sağa /2 seçin.
- Bu belədir. Bənövşəyi rənglə vurğulanan hər hansı bir hissəni görürsənsə, səhv bir şey etmiş olursan.
Addım 4: Saxla və qur
- . İoc konfiqurasiyasını Ctrl-S ilə qeyd edin. Kod yaratmaq istədiyinizi soruşduqda Bəli seçin (və hər dəfə soruşulmamaq üçün qərarımı yadda saxla).. İoc faylını bağlaya bilərsiniz.
- İndi Project | Build Project menyusundan bir quruluş edin.
Addım 5: Bəzi Kodlar Əlavə edin


İndi konfiqurasiya etdiyimiz serial portdan istifadə etmək üçün bəzi kodlar əlavə edəcəyik.
- Project Explorer -də Core / Src açın və redaktə etmək üçün main.c -ə iki dəfə vurun.
- Main () funksiyasını tapana qədər aşağı diyirləyin və aşağıda göstərilən kodu əlavə edin / * USER CODE BEGIN 3 * / sonra yenidən qurun.
HAL_UART_Transmit (& huart2, (uint8_t *) "Salam, dünya! / R / n", 15U, 100U);
Bundan sonra, aparatı bağlayın və buraxın.
Addım 6: Avadanlıq Bağlanması


ST-LINK v2-ni bağlayın
ST-LINK v2, 4 telli dişi-dişi başlıq lent kabeli ilə gəlməli idi. Aşağıdakı əlaqələri qurmalısınız:
Mavi həb ST-LINK v2-ə qədər
GND - GND
SWCLK üçün CLK
DIO -dan SWDIO -ya
3.3 - 3.3 V
Yuxarıdakı ilk şəklə baxın.
Serial Kabelin Bağlanması
. İoc faylına qayıtsanız və sağdakı çip diaqramına baxsanız, UART2 -nin Tx xəttinin PA2 pinində olduğunu görəcəksiniz. Bunun üçün Mavi həb lövhəsində PA2 etiketli pimi FTDI Serial kabelindəki sarı tel ilə əlaqəyə bağlayın. Həm də Blue Pill -in torpaq pinlərindən birini (G etiketli) FTDI serial kabelinin qara telinə bağlayın.
Yuxarıdakı ikinci görüntüyə baxın.
Addım 7: Hata Ayıklama


Sizə FTDI Serial kabelini bağlayın və 115200 baudda seriyalı bir terminal yandırın. Sonra ST-LINK v2-ni qoşun və getməyə hazırsınız.
- STM32CubeIDE -dən Run | Debug seçin. Bir Debug olaraq dialoq açıldığında STM32 Cortex-M C/C ++ Tətbiqini və OK seçin.
- Bir Konfiqurasiyanı Dəyişdir dialoqu açıldıqda, sadəcə OK düyməsini basın.
- Hata ayıklayıcısı main () birinci sətrində qırılacaq. Menyudan Run | Resume seçin və serial terminalda mesajların olub olmadığını yoxlayın.
Addım 8: Daha çox şey edin
Budur, ilk STM32CubeIDE tətbiqiniz konfiqurasiya edilir və işləyir. Bu nümunə çox şey etmir - sadəcə bəzi məlumatları serial portundan göndərir.
Digər qurğulardan istifadə etmək və xarici qurğular üçün sürücülər yazmaq üçün yenidən bu çətin konfiqurasiya redaktoru ilə məşğul olmalısınız! Kömək etmək üçün, Blue Pill -in prosessorundakı bütün ətraf qurğuları başa düşülməsi asan olan layihələrdə konfiqurasiya edən və həyata keçirən bir sıra STM32CubeIDE nümunə layihələri hazırladım. Hamısı açıq mənbədir və onlarla istədiyinizi etməkdə sərbəstsiniz. Hər bir periferik cihaz konfiqurasiya edilir və sonra tək başına (təxminən!) Həyata keçirmək üçün nümunə kodu var ki, bir anda yalnız bir periferik cihaz əldə etməyə diqqət yetirəsiniz.
Sadə EEPROM çiplərindən təzyiq sensörlərinə, mətn və qrafik LCD -lərə, TCP, HTTP və MQTT üçün SIM800 modeminə, klaviatura, radio modullarına, USB -ə qədər xarici qurğular üçün sürücülər, həmçinin FatFS, SD kartları və FreeRTOS ilə inteqrasiya var.
Hamısını burada Github -da tapa bilərsiniz …
github.com/miniwinwm/BluePillDemo
Tövsiyə:
Drivemall lövhəsinin inkişafı: 5 addım

Drivemall Board -un inkişafı: Bu dərsdə xüsusi bir Arduino lövhəsi yaratmaq üçün əsas addımları görəcəyik. Lövhə dizaynı üçün KiCad və lövhə üçün proqram təminatının yaradılması və yüklənməsi üçün Arduino IDE istifadə olunan proqramdır
Əl ilə lehimləmə Hurda Dövrə lövhəsinin elektron komponentlərinin komik cani: 7 addım

Əllə lehimləmə Hurda Devrenin Elektron Bileşenlerinin Əyləncəli Kötüyü
Arduino IDE -də ESP32 lövhəsinin quraşdırılması (Windows, Mac OS X, Linux): 7 addım

ESP32 Kartını Arduino IDE-də (Windows, Mac OS X, Linux) quraşdırmaq: Arduino IDE və proqramlaşdırma dilindən istifadə edərək ESP32-ni proqramlaşdırmağa imkan verən Arduino IDE üçün bir əlavə var. Bu təlimatda Windows, Mac OS X və ya Li istifadə etməyinizdən asılı olmayaraq Arduino IDE -də ESP32 lövhəsini necə quracağınızı sizə göstərəcəyik
STM32 "Mavi Həb" Arduino IDE və USB ilə davam edir: 8 addım

STM32 "Mavi Həb" Arduino IDE və USB ilə Proqramlaşdırma: STM32F ümumi prototip lövhəsini (yəni Blue Pill) Arduinonun əks hissəsi ilə müqayisə etmək, IOT layihələri üçün bir çox yeni imkanlar açan daha çox mənbəyə sahib olduğunu görmək asandır. Dezavantajları ona dəstək olmamasıdır. Əslində həqiqətən deyiləm
Arduino Alternativ - USB ilə STM32 Mavi Həb Proqramlaşdırması: 5 addım

Arduino Alternativ - USB ilə STM32 Mavi Həb Proqramlaşdırması: Siz də, mən də ən kiçik Attiny85 -dən ən böyük MEGA2560 -a qədər Arduino lövhələrini sevirik. Ancaq daha çox sürətə, daha çox analoq girişə, daha dəqiqliyə ehtiyacınız varsa, amma yenə də Arduino proqramlaşdırmasından keçmək istəmirsinizsə, qəşəng bir həll var