- Настройване на IDE на Arduino
- Настройване на платката STM8S103F3 за Arduino IDE програмиране
- LED мига на STM8S103F3 с помощта на Arduino
- Arduino Pin Mapping за STM8S103F3
- Компилиране на SPL библиотеки в Arduino IDE
Arduino несъмнено е прераснал в лесен за използване и бърз инструмент за прототипиране, благодарение на поддържащата го потребителска общност. Днес, поради своята природа с отворен код, платформата не е ограничена само до дъните Arduino, но също така и до други платки за разработка като NodeMCU, ESP8266, STM32, MSP430 и др., Които също могат да бъдат програмирани от Arduino IDE. Ако се интересувате да знаете как, можете да следвате връзките по-долу.
- Програмиране на NodeMCU с Arduino IDE
- Програмиране на ESP8266 с Arduino IDE
- Програмиране на STM32 с Arduino IDE
- Програмиране на MSP430 с Energeia (подобно на Arduino)
Без съмнение Arduino IDE е чудесно за начинаещи, но все пак за професионално развитие е добре да работите с местни среди за разработка и компилатори. Подобно на MPLABX за PIC микроконтролери и студио Code Composer за TI микроконтролери. Използването на родната платформа ни позволява да работим на ниво регистър (дори ниво на сглобяване, ако е необходимо), позволявайки на програмата да бъде по-ефективна памет. Ето защо, когато стартирахме урока за микроконтролер STM8Sсерия, изборът на платформа беше STVD и Cosmic C компилатор, и двата са безплатни за изтегляне и използване. За съжаление обаче STVD е много стара IDE и се чувства като 90-те, докато работите с него. На всичкото отгоре инструментът за програмиране STVP също не е добре интегриран с IDE и трябва да го използвате отделно. Това увеличава времето за компилиране и качване и прави разработката и отстраняването на грешки болка.
Тръгнах да търся алтернативи и тогава Arduino IDE дойде за спасяване. Инструмент, наречен Sduino от Michael Mayor, ни позволява лесно да програмираме микроконтролерите STM8s (повечето от най-популярните) от Arduino IDE директно и отнема само минути, за да настроите това и да започнете. По-интересното е, че освен да поддържа програмирането в стил Arduino, Sduino ни позволява да използваме и стандартната периферна библиотека (SPL), с други думи, почти можем да компилираме същата програма на STVD в Arduino IDE. Въпреки че Sduino е страхотен инструмент, той все още се разработва и все още не поддържа много от библиотеките и функциите на Arduino. Като се има предвид това, нека се научим как да използваме Arduino IDE с платката за разработка STM8S103F.Ако сте напълно нови за тази дъска, тогава проверете началото с ръководството за STM8S103F. Освен STM8S103F, Sduino поддържа и други микроконтролери STM8S като STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14 и др. Процедурата, обяснена в този урок, е еднаква за всички.
Настройване на IDE на Arduino
Стъпка 1: Ако сте напълно нови за средата на Arduino, изтеглете Arduino въз основа на вашата операционна система и го инсталирайте.
Стъпка 2: Следвайте Файл -> Предпочитания, за да отворите прозореца за предпочитания и поставете връзката, дадена по-долу, в текстовото поле за управление на допълнителни дъски и щракнете върху OK
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Стъпка 3: Следвайте Инструменти -> Board -> Board manager, за да отворите диалоговия прозорец на Board Manager и потърсете „sduino“. Щракнете върху инсталиране и затворете диалоговия прозорец, след като инсталацията приключи.
Стъпка 4: Рестартирайте IDE и след това следвайте Tools -> Board -> STM8S103F3 . Можете да изберете други дъски, ако имате различна дъска за разработка.
Сега Arduino IDE е готов за програмиране на съвет за разработка STM8S103F3. Нека настроим дъската, свържем я с компютъра и програмираме за просто мигане на LED.
Настройване на платката STM8S103F3 за Arduino IDE програмиране
Свържете ST-Link V2 с разработващата платка, както е показано по-долу.
Връзките са доста прави и най-добрата част е, че не се нуждаете от външни компоненти. Моята хардуерна настройка за програмиране е показана по-долу, току-що използвах женските заглавни кабели, за да направя връзката си. Имайте предвид обаче, че пиноутът на вашия ST-Link може да се различава от моя, не забравяйте да следвате пиноута на устройството, преди да направите връзките.
Направете връзката и свържете устройството към вашия компютър, инсталирането на драйвера трябва да започне автоматично. Можете да използвате диспечера на устройствата, за да се уверите дали компютърът ви е открил ST-LINK V2 правилно. Също така ще забележите, че тестовият светодиод на платката мига, ако за първи път захранвате платката.
LED мига на STM8S103F3 с помощта на Arduino
Сега за просто мигане на LED може да използваме програмата за мигане от примера. Следвайте File -> Example -> Generic_Example -> Basics -> Blink .
Пълната програма за мигане на бордовия светодиод е показана по-долу -
void setup () {// инициализиране на цифров щифт LED_BUILTIN като изход. pinMode (LED_BUILTIN, OUTPUT); } // функцията цикъл работи отново и отново завинаги void loop () {digitalWrite (LED_BUILTIN, HIGH); // включване на светодиода (HIGH е нивото на напрежението) забавяне (1000); // изчакайте втори digitalWrite (LED_BUILTIN, LOW); // изключете светодиода, като направите напрежението LOW delay (1000); // изчакайте секунда}
Както можете да видите, това е много подобно на програмата за мигане Arduino. За да качите програмата, уверете се, че вашата платка е свързана чрез st-link v2, както е обсъдено по-горе, и изберете програмиста като “ST-Link / V2”, както е показано по-долу.
Забележка: За разлика от Arduino платките, не е нужно да избирате правилния COM порт за програмиране на платката. Ще използвате COM порта само за серийна комуникация.
След като бъде избран COM портът, качването на кода също е много лесно. Просто натиснете бутона за качване (обграден в червено отдолу) и кодът ще се компилира и качи автоматично на нашата дъска.
Това е всичко, програмата се качва директно на платката и трябва да видите как мига вграденият светодиод. Няма външен софтуер за качване, няма нищо. Толкова лесно. Можете да разгледате видеоклипа в долната част на тази страница за работата.
Arduino Pin Mapping за STM8S103F3
Ако искате да продължите от тук, трябва да знаете как да адресирате всеки щифт на платката за разработка STM8S103F3. Картографирането на пина може да се разбере от това изображение по-долу -
Например от схемата на платката STM8S103F3 знаем, че вграденият светодиод е свързан към PB5. За да се обърнем към този щифт на Arduino, трябва да използваме 3, следователно програмата може да бъде написана като-
void setup () {// инициализиране на цифров щифт LED_BUILTIN като изход. pinMode (3, ИЗХОД); } // функцията цикъл работи отново и отново завинаги void loop () {digitalWrite (3, LOW); // включване на светодиода (HIGH е нивото на напрежението) забавяне (1000); // изчакваме втори digitalWrite (3, HIGH); // изключете светодиода, като направите напрежението LOW delay (1000); // изчакайте секунда}
Компилиране на SPL библиотеки в Arduino IDE
Както бе споменато по-рано, можем да използваме и SPL библиотеката на Arduino IDE. Ако си спомняте, в нашия предишен урок за STM8S GPIO, ние написахме код, който да мига вградения светодиод, а също и външен светодиод с помощта на бутона. Същият код с много малко модификации може да бъде компилиран и на Arduino. Модифицираният код е показан по-долу.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // подготвяме порт A за работещ GPIO_DeInit (GPIOB); // подготвяме порт B за работа // Декларирайте PA2 като входен издърпващ щифт GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Деклариране на PA3 като издърпващ изходен щифт GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Деклариране на PB5 като издърпващ изходен щифт GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // ако бутонът е натиснат GPIO_WriteLow (Green_LED); // LED ВКЛЮЧЕН иначе GPIO_WriteHigh (Green_LED); // LED ИЗКЛЮЧЕН GPIO_WriteReverse (GPIOB, GPIO_PIN_5); забавяне (100); }
В заключение, Arduino IDE заедно със Sduino е много добър вариант, ако искате да започнете своето развитие със STM8S. Платформата обаче все още се разработва и много библиотеки на Arduino тепърва ще се поддържат. И все пак, ако искате да се задълбочите и да допринесете за развитието, би било чудесно. Но за да науча, ще продължа поредицата от уроци със STVD и космически C компилатор.