- Необходими материали
- Електрическа схема
- Качване на Maple Boot loader на платката за разработка на STM32
- Подготовка на IDE на Arduino и инсталиране на драйверите
- Програмиране на STM32 (Blue Pill) директно през USB порт
The Board развитие STM32 корпуса на STM32F103C8 микроконтролера става все по-популярни, благодарение на ARM Cortex M3 архитектура, тя е с висока експлоатационна скорост и по-периферни опции. Също така, тъй като тази платка може лесно да се програмира с помощта на Arduino IDE, тя се превърна в предпочитан избор за много любители и инженери за бързо прототипиране.
В предишния ни урок научихме основите на борда за разработка STM32 и също така го програмирахме да мига светодиод. Но имаше един огромен недостатък с него. За да програмираме борда, използвахме модул за програмиране на FTDI и също така трябваше да превключваме джъмпера за стартиране 0 между и 1 позиция, докато качваме и тестваме код, което със сигурност е плашеща задача. Също така мини-USB портът на платката за разработки остана напълно неизползван. Причината за това е, че когато се закупи платката за разработка STM32, тя не се предлага с готов за зареждане Arduino и следователно дъската няма да бъде открита от вашия компютър, когато е свързана през USB.
Надяваме се обаче да съществува експериментален буут лоуър, разработен от LeafLabs за Maple mini дъски. Този буут лоудър може да бъде включен веднъж в STM32 и след това можем директно да използваме USB порта на платката STM32, за да качваме програми точно както всякакви други Arduino платки. Този загрузчик обаче все още е в етап на разработка по време на документирането на този урок и не е препоръчително за критични приложения. Преди да започнете работа с този урок, уверете се, че сте прочели предишния урок, за да разберете основите на тази дъска, включително подробности за спецификациите и изводи
Необходими материали
- STM32 - (BluePill) съвет за разработка (STM32F103C8)
- Програмист за FTDI
- Макет
- Свързващи проводници
- Лаптоп с интернет
Електрическа схема
За да програмираме платката STM32 Blue Pill директно през USB порт, първо трябва да включим зареждащия Maple в MCU. За целта трябва да използваме серийна FTDI платка. Тази платка е свързана с Rx и Tx щифта на STM32, както е показано по-долу.
Vcc щифтът на FTDI платката е свързан към STM32 5V щифт за захранване на платката. Земята е свързана със земята на STM32. Rx и Tx щифтът на FTDI платката е свързан съответно с щифтовете A9 и A10 на STM32. Където A9 е Tx щифтът на STM32 MCU, а A10 е Rx щифт.
Уверете се, че щифтът на джъмпера за зареждане 0 на платката е настроен на 1 (режим на програмиране), докато качвате устройството за зареждане. След като зареждащият товарач мига, този щифт може да бъде върнат в първоначално положение (работен режим).
Качване на Maple Boot loader на платката за разработка на STM32
След като направим горната връзка, свържете FTDI платката към вашия компютър и следвайте стъпките, за да включите зареждащия буфер в STM32.
Стъпка 1: Трябва да изтеглим двоичните файлове на програмния файл за зареждане (bin файл) от страницата на github. Има много версии на bin файл, за дъската Blue Pill използвайте тази връзка github и кликнете върху бутона за изтегляне, за да изтеглите bin файла.
Стъпка 2: След това трябва да изтеглите и инсталирате софтуера за зареждане на STM Flash, за да изтеглите изтегления бин файл в STM32. Кликнете върху тази връзка, за да влезете в уебсайта на ST, превъртете до дъното и кликнете върху изтегляне на софтуер
Стъпка 3: За да изтеглите софтуера, трябва да въведете своя имейл адрес и връзката за изтегляне ще бъде изпратена до вашия имейл. След това следвайте връзката обратно към уебсайта и кликнете върху изтегляне на софтуера отново и изтеглянето ще започне. Да, това е малко разочароващо, но така трябва да се направи. Не забравяйте да проверите папката си за нежелана поща за имейла, понякога отнема няколко минути, за да пристигне имейлът.
Стъпка 4: След като изтеглите инсталирайте софтуера, уверете се, че вашата платка STM32 е свързана към вашия компютър чрез FTDI платка и след това стартирайте софтуера. Софтуерът автоматично ще открие COM порта, ако не използва диспечера на устройствата и се уверете, че сте избрали правилния номер на COM порта. В моя случай това е COM4. Оставете останалата част от настройката, както е показано по-долу.
Стъпка 5: Щракнете два пъти върху бутона Напред и софтуерът отново автоматично ще открие детайлите на дъската и ще се покаже, както е показано по-долу. Платката, която използваме, е STM32F1 със 128K флаш памет.
Стъпка 6: В следващата стъпка изберете Изтегляне на устройство и прегледайте мястото, откъдето изтеглихме нашия bin файл в стъпка 1, и го изберете. Щракнете върху следващия.
Стъпка 7: Софтуерът ще изтегли някои необходими файлове, както е показано по-долу, и след това ще започне процеса на мигане.
Стъпка 8: След като мигането завърши успешно, ще получим екрана по-долу. Кликнете върху затваряне и излезте от приложението. Успешно проверихме платката STM32 с зареждащ модул Arduino. Сега трябва да подготвим IDE на Arduino и да инсталираме драйверите, преди да можем да програмираме платката STM32.
Подготовка на IDE на Arduino и инсталиране на драйверите
Следвайте стъпките по-долу, за да изтеглите и подготвите Arduino IDE за използване с платката за разработка STM 32.
Стъпка 1: - Ако все още не сте инсталирали IDE на Arduino, изтеглете го и го инсталирайте от тази връзка. Уверете се, че сте избрали правилната операционна система.
Стъпка 2: - След инсталиране на Arduino IDE отворете и изтеглете необходимите пакети за платката STM32. Това може да стане, като изберете Файл -> Предпочитания .
Стъпка 3: - Щракването върху Предпочитания ще отвори показания по-долу диалогов прозорец. В допълнителното текстово поле URL на Boards Manager поставете долната връзка
dan.drown.org/stm32duino/package_STM32duino_index.json
и натиснете OK.
Стъпка 4: - Сега отидете на Tool -> Boards -> Board Manager . Това ще отвори диалоговия прозорец на Boards manager, потърсете “STM32F1” и инсталирайте пакета, който се появява.
Стъпка 5: След като пакетът бъде инсталиран, отидете до C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win, където ще намерите install_drivers.bat и install_STM_COM_drivers.bat .
Стъпка 6: Кликнете върху двете файлове на прилеп и инсталирайте драйверите. Ще получите DOS екран, както е показано по-долу.
Сега Arduino IDE е подготвен за програмиране на съвет за разработка STM32 (Blue Pill) и драйверите също са инсталирани.
Програмиране на STM32 (Blue Pill) директно през USB порт
Отстранете FTDI платката и всички съществуващи връзки от вашия STM32. Просто използвайте micro-USB порта на платката STM32, за да го свържете към компютъра, както е показано по-долу. Уверете се, че щифтът на джъмпера 0 е позициониран обратно на 0 (режим на работа). Оттук нататък не е необходимо да превключваме джъмпера, за да качваме и стартираме програмите.
Вашият компютър трябва да може да открие дъската сега. Изчакайте известно време, ако видите, че се инсталират допълнителни драйвери. След това влезте в диспечера на устройства и проверете дали вашата платка STM32 е открита в раздела COM и порт, както е показано по-долу. Моят е свързан към COM8 с името Maple Mini.
Отидете на Инструменти и превъртете надолу, за да намерите общата серия STM32F103C, както е показано по-долу. След това се уверете, че вариантът е тип 64k Flash , скоростта на процесора е 72MHz и променете метода за качване на STM32duino Bootloader . Също така изберете правилния COM порт според този в диспечера на вашето устройство.
След като бъдат направени всички промени, проверете долния десен ъгъл на IDE на Arduino и трябва да забележите, че се задава следната настройка. Моята платка STM32 е свързана към COM8, но вашата може да се различава
Сега Arduino IDE е готова да програмира STM 32 Blue Pill Board Board. Нека да качим примерната програма за мигане от Arduino IDE на платката STM32 Blue Pill, за да сме сигурни, че всичко работи правилно. Примерната програма може да бъде намерена на
В примерната програма, която се отваря, трябва да направим малка промяна. По подразбиране програмата ще бъде написана за PB1, но на нашата платка бордовият светодиод е свързан към PC13, така че заменете всички PB1 с PC13 и е добре да продължим. Най- пълен пример програма, която е модифицирана може да се намери в дъното на тази страница.
Кодът вътре във функцията на цикъла е показан по-долу, където можем да забележим, че PC13 щифтът се държи HIGH (включен) за 1000 милисекунди и след това се изключва LOW (off) за още 1000 милисекунди и това се прави за безкрайно време, тъй като е в цикъл функция. По този начин LED изглежда мига с интервал от 1000 милисекунди.
digitalWrite (PC13, HIGH); // включване на светодиода (HIGH е нивото на напрежението) забавяне (1000); // изчакваме втори digitalWrite (PC13, LOW); // изключете светодиода, като направите напрежението с ниско забавяне (1000); // изчакайте секунда
Натиснете бутона за качване на IDE на Arduino и вашата програма трябва да се компилира и качи. Ако всичко е работило според очакванията, трябва да видите следното на вашата Arduino IDE конзола.
Ако програмата е качена успешно, трябва да видите зеления светодиод да мига на интервал от 1 секунда, както е показано на видеото по-долу. Можете също така да бъркате с програмата, за да увеличите или намалите закъснението. Сега можете да започнете да използвате платката за разработка STM32 (Blue Pill) като всички други дъски на Arduino, т.е. вече не е необходимо да променяте позицията на джъмперите или да използвате външен хардуер за качване и тестване на програми.
Надявам се, че сте разбрали урока и сте намерили за полезно да започнете със STM32 Board. Ако имате някакъв проблем, оставете ги в раздела за коментари, кажете ми също какви проекти трябва да изпробваме с тази платка STM32 в бъдеще.