- Избор и преузимање потребних развојних платформи за Нуцлео64 плоче
- Схема споја и подешавање хардвера
- Први кораци са СТМ32ЦубеМКС за развојне плоче СТМ32 Нуцлео64
- Програмирање СТМ32 Нуцлео64 развојног одбора помоћу ТруеСТУДИО
- СТМ32 Нуцлео64 програм за управљање ЛЕД помоћу тастера
- Отклањање грешака и слање кода на СТМ32 Нецлео64 развојни одбор помоћу ТруеСТУДИО
Многи од нас би требали бити упознати са популарним микроконтролерима и развојним плочама попут Ардуина, Распберри Пи, ЕСП8266, НодуМЦУ, 8051, итд. У ствари, за већину људи Ардуино би био њихова прва развојна плоча, али док копамо дубоко и започињемо професионалних дизајна, ускоро ћемо схватити ограничења Ардуина (попут трошкова, свестраности, стабилности, брзине итд.) и схватити потребу за преласком на матичну платформу микроконтролера као што су ПИЦ, СТМ, Ренесас итд.
Већ смо обрадили низ водича за ПИЦ микроконтролер који воде почетнике за учење ПИЦ микроконтролера. Слично томе, почев од овог чланка, планираћемо и низ водича за развојни одбор СТМ32 Нуцлео64 који апсолутним почетницима могу помоћи да уче и развијају се помоћу платформе СТМ32. Развојне плоче Нуцлео64 су јефтина и лака за употребу платформа за професионалне програмере, као и за хобисте. Ако сте потпуно нови у СТМ32 Нуцлео64 развојним плочама, погледајте овај видео снимак Нуцлео64 Ревиев да бисте разумели основе ове плоче пре него што наставите даље. Видео такође показује како програмирати СТМ32 помоћу АРМ Мбед платформе али за овај водич користићемо другу бесплатну платформу компаније СТ Мицроелецтроницс под називом ТруеСТУДИО.
Напомена: Постоји много верзија развојних плоча СТМ32 Нуцлео64, одређена плоча коришћена у овом упутству је НУЦЛЕО-Ф030Р8. Ову плочу смо одабрали углавном због ниске цене. Чак и ако имате другачију верзију, већина ствари о којима се говори у водичу биће вам довољне да започнете.
Избор и преузимање потребних развојних платформи за Нуцлео64 плоче
За почетак рада са било којим микроконтролером биће потребан ИДЕ за програмирање као што имамо Ардуино ИДЕ за Ардуино плоче, Атмел Студио за АВР микроконтролер, МП Лаб за ПИЦ итд. Дакле, овде нам је потребан и ИДЕ за наше СТМ32 Нуцлео64 плоче за обављање програмирања и отклањања грешака. Породица СТМ32 састоји се од 32-битних микроконтролера који подржавају следеће ИДЕ-ове и ланце алата:
- ИАР уграђени радни сто® за АРМ® (ЕВАРМ).
- МДК-АРМ Кеил
- ТруеСТУДИО
- Систем Воркбенцх за СТМ32
Овде ће се за наше водиче ТруеСТУДИО користити за писање, компајлирање и отклањање грешака, јер је бесплатан за преузимање и употребу чак и за комерцијалне пројекте без икаквих захтева за лиценцом. Тада ће се СТМ32ЦубеМКС користити за генерисање периферних управљачких програма за СТМ32 плоче како би се олакшало програмирање. Да би учитали наш програм (хек датотеку) на нашу развојну плочу, људи обично користе алатку СТМ32 СТ-ЛИНК Утилити, али уместо тога, за то ћемо користити сам ТруеСТУДИО. ТруеСТУДИО има режим отклањања грешака који програмерима омогућава да хек датотеку пренесу директно на СТМ32 плочу. И ТруеСТУИО и СТМ32ЦубеМКС је лако преузети, само следите доњу везу, пријавите се и преузмите поставке. Затим их инсталирајте на свој преносни рачунар.
- Преузмите СТМ32Цубе МКС
- Преузмите ТруеСТУДИО
Схема споја и подешавање хардвера
Пре него што наставимо са софтверским одељком и кодирањем, припремимо нашу таблу за овај пројекат. Као што је раније поменуто у овом чланку, контролисаћемо ЛЕД помоћу тастера. Е сад, ако сте видели видео везан горе, већ бисте требали знати да ваша развојна плоча СТМ32 има два сета конектора са обе стране који се називају СТ Морпхо пинови. На ове пинове повезали смо тастер и ЛЕД као што је приказано на доњој шеми.
Кружне везе су лако за овај пројекат, морамо повезати ЛЕД на ПА5 од ПОРТА и прекидач на ПЦ13 од ПОРТЦ у односу на ГНД. Једном када су везе успостављене, моја пробна поставка је изгледала овако.
Такође, можемо користити уграђену ЛЕД и тастер на плочи. Ове уграђене ЛЕД диоде и тастер такође су повезани на исти пин као што је приказано на дијаграму кола. Спољне компоненте смо додали само за вежбање. Доњи пин дијаграм СТМ32 развојне плоче ће вам добро доћи када ћете знати где су сваки морфо пинови повезани на броду.
Први кораци са СТМ32ЦубеМКС за развојне плоче СТМ32 Нуцлео64
Корак 1: Након инсталације, покрените СТМ32ЦубеМКС, а затим изаберите бирач приступне плоче да бисте изабрали СТМ32 плочу.
Корак 2: Сада потражите таблу према вашем имену СТМ32 плоче као што је НУЦЛЕО-Ф030Р8 и кликните на плочу која се приказује на слици. Ако имате другу таблу, потражите њено име. Софтвер ће подржавати све развојне плоче СТМ32 компаније СТ Мицроелецтроницс.
Корак 3: Сада кликните на да, као што је приказано на доњој слици, да бисте иницијализовали све периферне уређаје у њиховом подразумеваном режиму. Касније можемо променити потребне по потреби нашег пројекта.
Након што кликнете на „Да“, екран ће бити сличан доњој слици и зеленој прибадачи, што значи да су они подразумевано покренути.
Корак 4: Сада корисници могу да изаберу жељено подешавање из категорија. Овде у овом упутству ћемо укључити ЛЕД помоћу тастера. Дакле, ЛЕД пин морамо да направимо као излазни, а пин као ИНПУТ.
Можете одабрати било који пин, али ја избора ПА5 и мења стање на ГПИО_Оутпут да успе као излазни пин као што је приказано на доњој слици.
Слично томе, одабирем ПЦ13 као ГПИО_Инпут да бих могао прочитати статус свог тастера.
Алтернативно, такође можемо да конфигуришемо игле са картице пиноут и конфигурације, као што је приказано доле.
Корак 5: У следећем кораку корисник може подесити жељену фреквенцију микроконтролера и пинова у складу са спољним и унутрашњим осцилатором. Подразумевано је одабран интерни осцилатор кристала од 8 МХз и коришћењем ПЛЛ-а овај 8 се претвара у 48 МХз. Што подразумевано значи СТМ32 плоча или микроконтролер и Пинови ће радити на 48МХз.
Корак 6: Сада се уселите у менаџера пројекта и дајте име свом пројекту, локацији пројекта и изаберите ланац алата или ИДЕ. Овде користимо ТруеСТУДИО, па сам изабрао исто као што је приказано доле.
Корак 7: Сада кликните на Генерате Цоде марк црвеним кругом на доњој слици.
Корак 8: Сада ћете видети искачући прозор као што је дато, а затим кликните на отворени пројекат. Али, пре овог корака обавезно инсталирајте ТруеСТУДИО.
Програмирање СТМ32 Нуцлео64 развојног одбора помоћу ТруеСТУДИО
Сада ће се ваш код или пројекат аутоматски отворити у ТруеСТУДИО ако ТруеСТУДИО затражи локацију радног простора, а затим обезбедите локацију радног простора или идите са подразумеваном локацијом.
Корисник ће видети доњи екран, а затим треба да кликне на ознаку у углу црвене боје.
И сада можемо видети код у нашој ТреуСТУДИО ИДЕ. На левој страни испод директоријума 'срц' можемо видети друге програмске датотеке (са наставком.ц) које су за нас већ генерисане из СТМ32Цубе. Само морамо да програмирамо датотеку маин.ц. Чак и у датотеци маин.ц већ ћемо имати неколико ствари које нам је ЦубеМКС подесио, ми само морамо да их уредимо како би одговарали нашем програму. Комплетни код унутар датотеке маин.ц дат је на дну ове странице.
СТМ32 Нуцлео64 програм за управљање ЛЕД помоћу тастера
С обзиром да СТМ32ЦубеМКС генерише све потребне управљачке програме и код, морамо само да конфигуришемо ЛЕД пин као излаз и тастер као улаз. Програм за управљање лед-ом помоћу тастера треба бити написан у датотеци маин.ц. Комплетан програм можете пронаћи на дну ове странице. Објашњење је следеће
Имамо само написани код за укључивање и искључивање ЛЕД диоде помоћу дугмета. Да бисмо то постигли, прво дефинишемо игле за ЛЕД и тастере. Овде смо дефинисали ЛЕД на пин 5 број ПОРТА
#дефине ЛЕД_ПОРТ ГПИОА #дефине ЛЕД_ПИН ГПИО_ПИН_5
И дефинишите прекидач на Пин број 13 ПОРТЦ-а.
#дефине СВ_ПОРТ ГПИОЦ #дефине СВ_ПИН ГПИО_ПИН_13
Затим смо у главној функцији иницијализовали све коришћене периферне уређаје.
/ * Иницијализујте све конфигурисане периферне уређаје * / МКС_ГПИО_Инит (); МКС_УСАРТ2_Инит ();
А затим прочитајте дугме помоћу наредбе иф и ако је дугме пронађено притисните (ЛОВ), тада ће ЛЕД пребацити своје стање.
Док (1) {/ * КОРИСНИЧКИ КОД ЗАВРШАВА ДОК ЈЕ * / Ако (! ХАЛ_ГПИО_РеадПин (СВ_ПОРТ, СВ_ПИН)) {ХАЛ_ГПИО_ТогглеПин (СВ_ПОРТ, ЛЕД_ПИН); ХАЛ_Делаи (200); } / * КОРИСНИЧКИ КОД ПОЧИЊЕ 3 * /}
Овде функција ХАЛ_ГПИО_РеадПин (СВ_ПОРТ, СВ_ПИН) има два аргумента, један је ПОРТ, а други је пин на који је повезан прекидач и овај пин је конфигурисан као ИНПУТ док конфигуришете периферне уређаје у СТМ32ЦубеМКС.
Отклањање грешака и слање кода на СТМ32 Нецлео64 развојни одбор помоћу ТруеСТУДИО
Сада повежите плочу са рачунаром помоћу кабла за програмирање. Једном када га повежете, управљачки програм потребан за плочу треба аутоматски да се преузме, то можете проверити помоћу менаџера уређаја.
Затим притисните икону за отклањање грешака означену црвеним кругом на доњој слици да бисте саставили програм и ушли у режим отклањања грешака.
У режиму отклањања грешака, код ће се аутоматски отпремити. Сада морамо покренути код притиском на „Настави“ или Ф8 (означено црвеним кругом на доњој слици).
Сада можемо да тестирамо контролу ЛЕД-а притиском на тастер. Према коду, ЛЕД би требало да промени своје стање сваки пут када притиснете тастер. Комплетан рад такође можете пронаћи у видео запису на дну ове странице.
Након тестирања, програм такође можемо прекинути притиском на икону за прекид означену црвеним кругом на доњој слици.