Կապույտ դեղահատերի տեղադրում STM32CubeIDE- ում ՝ 8 քայլ
Կապույտ դեղահատերի տեղադրում STM32CubeIDE- ում ՝ 8 քայլ
Anonim
Կապույտ դեղահատերի տեղադրում STM32CubeIDE- ում
Կապույտ դեղահատերի տեղադրում STM32CubeIDE- ում

Կապույտ դեղահատը շատ էժան մերկ ոսկորների ARM զարգացման տախտակ է: Որպես պրոցեսոր ունի STM32F103C8, որն ունի 64 կբայթ ֆլեշ և 20 կբայթ օպերատիվ հիշողություն: Այն աշխատում է մինչև 72 ՄՀց հաճախականությամբ և հանդիսանում է ARM- ի ներդրված ծրագրաշարի մշակման մեջ մտնելու ամենաէժան միջոցը:

Օրինակների մեծ մասը և ինչպես նկարագրել Blue Pill տախտակի ծրագրավորումը ՝ օգտագործելով Auduino միջավայրը: Թեև դա աշխատում է և սկզբնական միջոց է, այն ունի իր սահմանափակումները: Arduino միջավայրը ձեզ մի փոքր պատսպարում է հիմքում ընկած ապարատից. Դա նրա նախագծման նպատակն է: Դրա պատճառով դուք չեք կարողանա օգտվել պրոցեսորի բոլոր հնարավորություններից, իսկ իրական ժամանակի օպերացիոն համակարգի ինտեգրումը իրականում չի ապահովվում: Սա նշանակում է, որ Arduino միջավայրը լայնորեն չի օգտագործվում արդյունաբերության մեջ: Եթե ցանկանում եք կարիերա անել ներդրված ծրագրաշարի մշակման ոլորտում, Arduino- ն լավ մեկնարկային վայր է, բայց դուք պետք է առաջ շարժվեք և օգտագործեք արդյունաբերականորեն օգտագործվող զարգացման միջավայրը: ST- ն օգնում է ապահովել բոլորովին անվճար զարգացման միջավայրի փաթեթ իրենց պրոցեսորների համար, որը կոչվում է STM32CubeIDE: Սա լայնորեն օգտագործվում է արդյունաբերության մեջ, ուստի լավ է անցնել:

Այնուամենայնիվ, և սա ամենամեծն է, STM32CubeIDE- ն սարսափելի բարդ է և օգտագործման համար սարսափելի ծրագրակազմ է: Այն աջակցում է ST- ի բոլոր պրոցեսորների բոլոր հնարավորությունները և թույլ է տալիս դրանք ինտիմ կազմաձևել, ինչը դուք չեք հանդիպում Arduino IDE- ում, քանի որ ամեն ինչ արված է ձեզ համար:

Դուք պետք է կարգավորեք ձեր խորհուրդը որպես STM32CubeIDE- ի առաջին քայլ: IDE- ն գիտի ST- ի սեփական զարգացման տախտակների մասին և դրանք տեղադրում է ձեզ համար, բայց Blue Pill- ը, ST պրոցեսոր օգտագործելիս, դա ST արտադրանք չէ, այնպես որ դուք այստեղ ինքնուրույն եք:

Այս հրահանգը տանում է ձեզ ձեր Blue Pill տախտակը տեղադրելու, սերիական նավահանգիստը միացնելու և տեքստ դուրս գրելու գործընթացի միջոցով: Դա շատ չէ, բայց դա առաջին կարևոր քայլն է:

Պարագաներ

STM32CubeIDE - ներբեռնեք ST- ի կայքից: Դուք պետք է գրանցվեք, և ներբեռնումը տևում է որոշ ժամանակ:

Կապույտ դեղահատ տախտակ: Դուք կարող եք դրանք ստանալ ebay- ից: Ձեզ անհրաժեշտ է մեկը, որն ունի իսկական ST պրոցեսոր, քանի որ ոմանք չունեն: Ebay- ում մեծացրեք պատկերը և փնտրեք ST պատկերանշանը պրոցեսորի վրա:

ST-LINK v2 վրիպազերծիչ/ծրագրավորող, որը հասանելի է ebay- ից մի քանի ֆունտով:

FTDI TTL- ից USB 3.3V սերիական մալուխ ելքի համար և 2 արականից իգական վերնագրի լար `այն միացնելու համար:

Սերիական տերմինալային ծրագիր, ինչպիսին է PuTTY- ն:

Քայլ 1: Նոր նախագծի ստեղծում

Նոր նախագծի ստեղծում
Նոր նախագծի ստեղծում
Նոր նախագծի ստեղծում
Նոր նախագծի ստեղծում
  1. Սկսեք STM32CubeIDE և այնուհետև ընտրացանկից ընտրեք Ֆայլ | Նոր | STM32 նախագիծ:
  2. Մասերի համարների որոնման դաշտում մուտքագրեք STM32F103C8:
  3. MCUs/MPUs ցուցակում դուք պետք է տեսնեք STM32F103C8: Ընտրեք այս տողը, ինչպես վերևում պատկերված է:
  4. Կտտացրեք Հաջորդը:
  5. Setրագրի տեղադրման երկխոսության մեջ նախագծի անունը տվեք:
  6. Մնացած ամեն ինչ թողեք այնպես, ինչպես կա և կտտացրեք Ավարտել: Ձեր նախագիծը ձախ կողմում կհայտնվի Project Explorer- ի պատուհանում:

Քայլ 2: Կարգավորեք պրոցեսորը

Պրոցեսորի կարգավորում
Պրոցեսորի կարգավորում
Պրոցեսորի կարգավորում
Պրոցեսորի կարգավորում
Պրոցեսորի կարգավորում
Պրոցեսորի կարգավորում
Պրոցեսորի կարգավորում
Պրոցեսորի կարգավորում
  1. Project Explorer- ի պատուհանում բացեք ձեր նախագիծը և կրկնակի սեղմեք.ioc ֆայլը:
  2. Projectրագրի և կազմաձևման ներդիրում ընդլայնեք System Core- ը, ապա ընտրեք SYS:
  3. SYS ռեժիմի և կարգաբերման կարգաբերում «Վրիպազերծում» կարգաբերման վահանակում ընտրեք Սերիալալարը:
  4. Այժմ ընտրեք RCC System Core ցուցակում ՝ վերևում ձեր ընտրած SYS- ի վերևում:
  5. RCC Mode & Configuration from High Speed Clock (HSE) բացվող ընտրացանկում ընտրեք բյուրեղյա/կերամիկական ռեզոնատոր:
  6. Այժմ կրկին «Կատեգորիաներ» բաժնում բացեք Միացում և ընտրեք USART2:
  7. Բացվող բացվող ռեժիմից USART2 Mode and Configuration Mode- ից ընտրեք Asynchronous:
  8. Այժմ ընտրեք «ockամացույցի կազմաձևում» ներդիրը և անցեք հաջորդ քայլին:

Քայլ 3: Confամացույցների կազմաձևում

Confամացույցների կազմաձևում
Confամացույցների կազմաձևում

Այժմ դուք կարող եք տեսնել բավականին սարսափելի ժամացույցի դիագրամ, բայց այն անհրաժեշտ է միայն մեկ անգամ կարգավորել: Սա ամենադժվարն է այստեղ նկարագրել, քանի որ դիագրամը բարդ է: Բոլոր բաները, որոնք դուք պետք է փոխեք, ընդգծված են վերը նշված պատկերում:

  1. Կապույտ դեղահատի տախտակը տախտակին գալիս է 8 ՄՀց բյուրեղով, և դա այն է, ինչ ժամացույցի կազմաձևման դիագրամը կանխադրված է, այնպես որ մենք կարիք չունենք դա փոխելու:
  2. PLL Source Mux- ի ներքո ընտրեք ստորին ընտրությունը ՝ HSE:
  3. Աջ կողմում PLLMul- ը սահմանեք X9:
  4. Կրկին աջ `System Clock Mux- ի ներքո ընտրեք PLLCLK:
  5. Կրկին աջ ՝ APB1 Prescalar- ի ներքո ընտրեք /2:
  6. Վերջ: Եթե տեսնում եք, որ գծապատկերի որևէ հատված ընդգծված է մանուշակագույնով, ինչ -որ բան սխալ եք արել:

Քայլ 4: Պահպանել և կառուցել

  1. Պահպանեք.ioc կոնֆիգուրացիան Ctrl-S- ով: Երբ ձեզ հարցնում են, թե արդյոք ցանկանում եք կոդ ստեղծել, ընտրեք «Այո» (և նշեք Հիշել իմ որոշումը, որպեսզի ձեզ ամեն անգամ չպահանջվի): Կարող եք փակել.ioc ֆայլը:
  2. Այժմ կառուցեք նախագիծ | Կառուցեք նախագիծը:

Քայլ 5: Որոշ կոդերի ավելացում

Որոշ կոդերի ավելացում
Որոշ կոդերի ավելացում
Որոշ կոդերի ավելացում
Որոշ կոդերի ավելացում

Այժմ մենք մի քանի կոդ կավելացնենք ՝ մեր կազմաձևված սերիական պորտից օգտվելու համար:

  1. Project Explorer- ում բացեք Core / Src և կրկնակի կտտացրեք main.c- ին ՝ այն խմբագրելու համար:
  2. Ոլորեք ներքև մինչև չգտնեք հիմնական () ֆունկցիան և ավելացրեք ներքևում նշված կոդը ՝ մեկնաբանության տակ / * USER CODE BEGIN 3 * / այնուհետև նորից կառուցեք:

HAL_UART_Transmit (& huart2, (uint8_t *) «Բարև, աշխարհ! / R / n», 15U, 100U);

Հաջորդը, այն միացրեք բարձրացված սարքավորումն ու գործի անցեք:

Քայլ 6: Սարքաշարի միացում

Սարքավորումը միացնելը
Սարքավորումը միացնելը
Սարքավորումը միացնելը
Սարքավորումը միացնելը

ST-LINK v2- ի միացում

ST-LINK v2- ը պետք է ունենար 4 մետաղալար էգից մինչև կին վերնագրի ժապավենային մալուխ: Դուք պետք է կատարեք հետևյալ կապերը.

Կապույտ դեղահատ դեպի ST-LINK v2

GND- ից GND

CLK դեպի SWCLK

DIO դեպի SWDIO

3.3 -ից 3.3 Վ

Տես վերևի առաջին պատկերը:

Սերիական մալուխի միացում

Եթե վերադառնաք: Այսպիսով, կապույտ դեղահատի տախտակի վրա PA2 մակնշված քորոցը միացրեք FTDI սերիական մալուխի դեղին մետաղալարով: Միացրեք նաև Blue Pill- ի գրունտային կապումներից մեկը (պիտակով G) FTDI սերիայի մալուխի սև մետաղալարին:

Տես վերևի երկրորդ պատկերը:

Քայլ 7: Կարգավորում

Կարգաբերում
Կարգաբերում
Կարգաբերում
Կարգաբերում

Միացրեք FTDI- ի սերիական մալուխը և միացրեք սերիական տերմինալը 115200 baud- ով: Այնուհետև միացրեք ST-LINK v2- ը և պատրաստ եք գնալ:

  1. STM32CubeIDE- ից ընտրել Run | Debug: Երբ Debug as երկխոսություն է բացվում, ընտրեք STM32 Cortex-M C/C ++ Application և OK:
  2. Երբ հայտնվում է «Խմբագրել կոնֆիգուրացիա» երկխոսությունը, պարզապես սեղմեք OK:
  3. Վրիպազերծիչը կկոտրվի հիմնական () առաջին գծում: Ընտրացանկից ընտրեք Գործարկել | Վերսկսել և ստուգել հաղորդագրությունները սերիալային տերմինալում:

Քայլ 8: Ավելին անել

Վերջ, ձեր առաջին STM32CubeIDE ծրագիրը կազմաձևված է և աշխատում է: Այս օրինակը շատ բան չի անում. Պարզապես սերիական նավահանգստից որոշ տվյալներ է ուղարկում:

Այլ ծայրամասային սարքեր օգտագործելու և արտաքին սարքերի համար վարորդներ գրելու համար նորից պետք է լուծեք այդ սարսափելի կազմաձևման խմբագրիչը: Օգնելու համար ես պատրաստել եմ մի շարք STM32CubeIDE օրինակելի նախագծեր, որոնք կարգավորում և կիրառում են Blue Pill- ի պրոցեսորի բոլոր ծայրամասային սարքերը փոքր հասկանալի նախագծերում: Նրանք բոլորը բաց կոդ են, և դուք ազատ եք նրանց հետ անել ինչ ուզում եք: Յուրաքանչյուր ծայրամասային սարքավորումը կազմաձևված է, այնուհետև ունի նմուշի ծածկագիր ՝ այն մեկուսացնելու համար (գրեթե!), Որպեսզի կարողանաք կենտրոնանալ միանգամից միայն մեկ ծայրամասային սարքավորում ձեռք բերելու վրա:

Կան նաև արտաքին սարքերի վարորդներ ՝ պարզ EEPROM չիպերից մինչև ճնշման տվիչներ, տեքստային և գրաֆիկական LCD, SIM800 մոդեմ ՝ TCP, HTTP և MQTT, ստեղնաշարեր, ռադիո մոդուլներ, USB, ինչպես նաև FatFS, SD քարտերի և FreeRTOS- ի հետ ինտեգրում:

Նրանք բոլորը կարելի է գտնել Github- ում այստեղ…

github.com/miniwinwm/BluePillDemo

Խորհուրդ ենք տալիս: