- Налаштування IDE Arduino
- Налаштування плати STM8S103F3 для програмування Arduino IDE
- Світлодіод блимає на STM8S103F3 за допомогою Arduino
- Картування Arduino Pin для STM8S103F3
- Компіляція бібліотек SPL в IDE Arduino
Arduino, безсумнівно, перетворився на зручний і швидкий інструмент створення прототипів завдяки спільноті користувачів, що підтримує. Сьогодні, завдяки своїй природі з відкритим кодом, платформа не тільки обмежена платами Arduino, але й іншими платами розробки, такими як NodeMCU, ESP8266, STM32, MSP430 тощо, також може бути запрограмована з IDE Arduino. Якщо вас цікавить, як це зробити, ви можете перейти за посиланнями нижче.
- Програмування NodeMCU за допомогою Arduino IDE
- Програмування ESP8266 за допомогою Arduino IDE
- Програмування STM32 за допомогою Arduino IDE
- Програмування MSP430 за допомогою Energeia (аналогічно Arduino)
Без сумніву, IDE Arduino чудово підходить для початківців, але все ж для професійного розвитку добре працювати з рідними середовищами розробки та компіляторами. Як MPLABX для мікроконтролерів PIC та студія Code Composer для мікроконтролерів TI. Використання власної платформи дозволяє нам працювати на рівні реєстру (навіть на рівні збірки, якщо потрібно), що дозволяє програмі мати більшу ефективність пам'яті. Ось чому, коли ми запустили підручник з мікроконтролера STM8Sсерії, вибір платформи був STVD та компілятор Cosmic C, обидва з яких можна безкоштовно завантажити та використовувати. На жаль, STVD - це дуже стара IDE, і він відчуває себе як 90-ті під час роботи з ним. Крім того, інструмент програміста STVP також недостатньо інтегрований з IDE, і ви повинні використовувати його окремо. Це збільшує час компіляції та завантаження та робить розробку та налагодження проблемою.
Я вирушив у пошуках альтернатив, і саме тоді Arduino IDE прийшов на порятунок. Інструмент, який Майкл Майор називає Sduino, дозволяє нам легко програмувати мікроконтролери STM8 (більшість найпопулярніших) з IDE Arduino безпосередньо, і для налаштування цього та початку роботи потрібні лише хвилини. Що ще цікавіше, це те, що окрім підтримки програмування в стилі Arduino, Sduino також дозволяє нам використовувати Стандартну периферійну бібліотеку (SPL), іншими словами, ми можемо майже скомпілювати ту саму програму на STVD в ID Arduino. Незважаючи на те, що Sduino - це крутий інструмент, він все ще перебуває в розробці і все ще повинен підтримувати багато бібліотек та функцій Arduino. З огляду на це, давайте дізнаємося, як використовувати Arduino IDE з платою розробки STM8S103F.Якщо ви зовсім новачок у цій дошці, перевірте, як розпочати роботу, за допомогою підручника STM8S103F. Окрім STM8S103F, Sduino також підтримує інші мікроконтролери STM8S, такі як STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14 тощо. Процедура, описана в цьому посібнику, однакова для всіх.
Налаштування IDE Arduino
Крок 1: Якщо ви повністю новачок у середовищі Arduino, завантажте Arduino на основі вашої операційної системи та встановіть його.
Крок 2: Виконайте Файл -> Налаштування, щоб відкрити вікно налаштувань та вставте посилання, подане нижче, у текстове поле додаткових дощок для керування URL-адресою та натисніть OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Крок 3: Виконайте Інструменти -> Дошка -> Менеджер дошки, щоб відкрити діалогове вікно менеджера дошки та здійснити пошук “sduino”. Натисніть на встановити та закрийте діалогове вікно після завершення встановлення.
Крок 4: Перезапустіть IDE, а потім виконайте Інструменти -> Дошка -> STM8S103F3 . Ви можете вибрати інші дошки, якщо у вас інша дошка розробки.
Тепер Arduino IDE готовий до програмування плати розробки STM8S103F3. Давайте налаштуємо плату, підключимо її до комп'ютера та запрограмуємо на просте світлодіодне блимання.
Налаштування плати STM8S103F3 для програмування Arduino IDE
Підключіть ST-Link V2 до плати розробки, як показано нижче.
З'єднання досить прямі, і найкраща частина - вам не потрібні зовнішні компоненти. Моє апаратне налаштування для програмування показано нижче, я щойно використав жіночі дроти для підключення для встановлення з'єднання. Однак, зауважте, що розпинання вашого ST-Link може відрізнятися від мого, обов’язково дотримуйтесь розпірування на пристрої, перш ніж здійснювати підключення.
Встановіть підключення та підключіть пристрій до комп’ютера, установка драйвера повинна розпочатися автоматично. Ви можете скористатися диспетчером пристроїв, щоб переконатися, що ваш комп’ютер правильно виявив ST-LINK V2. Ви також помітите тестовий світлодіод на платі, який блимає, якщо це вперше живить плату.
Світлодіод блимає на STM8S103F3 за допомогою Arduino
Тепер для простого миготіння світлодіодів ми можемо скористатися програмою блимання з прикладу. Дотримуйтесь Файл -> Приклад -> Загальний_Приклад -> Основи -> Блимання .
Повна програма блимання вбудованого світлодіода показана нижче -
void setup () {// ініціалізувати цифровий вивід LED_BUILTIN як вихід. pinMode (LED_BUILTIN, OUTPUT); } // функція циклу працює знову і знову назавжди void loop () {digitalWrite (LED_BUILTIN, HIGH); // увімкнути світлодіод (HIGH - рівень напруги) затримка (1000); // чекаємо другого digitalWrite (LED_BUILTIN, LOW); // вимкніть світлодіод, зробивши напругу НИЗКОЮ затримкою (1000); // почекаємо секунду}
Як бачите, це дуже схоже на програму мигання Arduino. Щоб завантажити програму, переконайтеся, що ваша плата підключена через st-link v2, як обговорювалося вище, і виберіть програміст як “ST-Link / V2”, як показано нижче.
Примітка: На відміну від плат Arduino, вам не потрібно вибирати правильний COM-порт для програмування плати. Ви будете використовувати COM-порт лише для послідовного зв'язку.
Після вибору COM-порта завантаження коду також стає дуже простим. Просто натисніть кнопку завантаження (внизу обведено червоним кольором), і код буде автоматично скомпільований і завантажений на нашу дошку.
Це все, програма завантажується безпосередньо на плату, і ви побачите, як вбудований світлодіод блимає. Ніякого програмного забезпечення для зовнішнього завантаження, нічого. Так просто. Ви можете переглянути відео у нижній частині цієї сторінки для роботи.
Картування Arduino Pin для STM8S103F3
Якщо ви хочете продовжити звідси, вам потрібно знати, як адресувати кожен штифт на платі розробки STM8S103F3. Зображення штифтів можна зрозуміти з цього зображення нижче -
Наприклад, зі схеми плати STM8S103F3 ми знаємо, що вбудований світлодіод підключений до PB5. Для вирішення цього виводу на Arduino ми повинні використати 3, отже, програму можна записати як-
void setup () {// ініціалізувати цифровий вивід LED_BUILTIN як вихід. pinMode (3, ВИХІД); } // функція циклу працює знову і знову назавжди void loop () {digitalWrite (3, LOW); // увімкнути світлодіод (HIGH - рівень напруги) затримка (1000); // чекаємо другого digitalWrite (3, HIGH); // вимкніть світлодіод, зробивши напругу НИЗКОЮ затримкою (1000); // почекаємо секунду}
Компіляція бібліотек SPL в IDE Arduino
Як вже згадувалося раніше, ми також можемо використовувати бібліотеку SPL в IDE Arduino. Якщо ви пам’ятаєте, у нашому попередньому навчальному посібнику 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); // Світлодіод увімкнено ще GPIO_WriteHigh (Green_LED); // Світлодіод вимкнений GPIO_WriteReverse (GPIOB, GPIO_PIN_5); затримка (100); }
На закінчення Arduino IDE разом із Sduino - дуже хороший варіант, якщо ви хочете почати розробку зі STM8S. Однак платформа все ще розробляється, і багато бібліотек Arduino ще не підтримуються. І все-таки, якщо ви хочете глибоко заглибитися і внести свій внесок у розвиток, було б чудово. Але задля навчання я продовжуватиму підручник із STVD та космічним компілятором C.