- Необхідні матеріали
- Кругова діаграма
- Завантаження завантажувача Maple Boot на плату розробки STM32
- Підготовка IDE Arduino та встановлення драйверів
- Програмування STM32 (Blue Pill) безпосередньо через USB-порт
Рада розробки STM32, в якій розміщений мікроконтролер STM32F103C8, стає все більш популярною завдяки своїй архітектурі ARM Cortex M3, вона має високу операційну швидкість та більше периферійних опцій. Окрім того, цю дошку можна легко запрограмувати за допомогою IDE Arduino, і вона стала кращим вибором для багатьох любителів та інженерів для швидкого створення прототипів.
У нашому попередньому навчальному посібнику ми вивчили основи Ради розвитку STM32, а також запрограмували її блимати світлодіодом. Але з цим був один величезний недолік. Для програмування плати ми використовували модуль програміста FTDI, а також повинні були перемикати перемичку завантаження 0 між і 1 позицією під час завантаження та тестування коду, що, безумовно, є непростим завданням. Крім того, порт mini-USB на платі розробки залишився абсолютно невикористаним. Причиною цього є те, що при придбанні плати розробки STM32 до неї не входить готовий завантажувач Arduino, а отже, плата не буде виявлена вашим комп'ютером при підключенні через USB.
Хоча сподіваємось, існує експериментальний завантажувач, розроблений LeafLabs для міні-плат Maple. Цей завантажувач можна один раз перепрошити в 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-штифт.
Під час завантаження завантажувача переконайтесь, що штифт перемички boot 0 на платі встановлений у 1 (режим програмування). Після прошивки завантажувача цей штифт можна повернути у початкове положення (режим роботи).
Завантаження завантажувача Maple Boot на плату розробки 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 зі 128 КБ флеш-пам'яті.
Крок 6: На наступному кроці виберіть Завантажити на пристрій та перейдіть до місця, де ми завантажили наш файл смітника на кроці 1, та виберіть його. Натисніть далі.
Крок 7: Програмне забезпечення завантажить деякі необхідні файли, як показано нижче, а потім розпочне процес перепрошивки.
Крок 8: Після того, як прошивка завершиться успішно, ми отримаємо екран нижче. Клацніть на закрити та вийдіть із програми. Ми успішно перевірили плату STM32 із завантажувачем Arduino. Тепер ми повинні підготувати Arduino IDE та встановити драйвери, перш ніж ми зможемо запрограмувати плату STM32.
Підготовка IDE Arduino та встановлення драйверів
Виконайте наведені нижче дії, щоб завантажити та підготувати IDE Arduino до використання з платою розробки STM 32.
Крок 1: - Якщо ви ще не встановили IDE Arduino, завантажте та встановіть його за цим посиланням. Переконайтеся, що вибрали правильну операційну систему.
Крок 2: - Після встановлення Arduino IDE відкрийте та завантажте необхідні пакети для плати STM32. Це можна зробити, вибравши Файл -> Налаштування .
Крок 3: - Натиснувши Налаштування, відкриється діалогове вікно, що показано нижче. У додаткове текстове поле URL-адреси Boards Manager вставте посилання нижче
dan.drown.org/stm32duino/package_STM32duino_index.json
і натисніть OK.
Крок 4: - Тепер перейдіть до Інструмент -> Дошки -> Менеджер дошки . Після цього відкриється діалогове вікно Boards manager, пошук “STM32F1” та встановлення пакета, що з’явиться.
Крок 5: Після встановлення пакета перейдіть до C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win, де ви знайдете install_drivers.bat та install_STM_COM_drivers.bat .
Крок 6: Клацніть обидва файли bat та встановіть драйвери. Ви отримаєте екран DOS, як показано нижче.
Тепер Arduino IDE підготовлений до програмування плати розробки STM32 (Blue Pill), а також встановлені драйвери.
Програмування STM32 (Blue Pill) безпосередньо через USB-порт
Зніміть плату FTDI та всі існуючі з'єднання зі свого STM32. Просто використовуйте порт micro-USB на платі STM32, щоб підключити його до комп'ютера, як показано нижче. Переконайтеся, що штифт перемички 0 розміщений назад на 0 (робочий режим). Далі нам більше не потрібно перемикати перемичку для завантаження та запуску програм.
Ваш комп’ютер повинен мати можливість відкрити дошку вже зараз. Зачекайте деякий час, якщо побачите, що встановлюються додаткові драйвери. Потім зайдіть у диспетчер пристроїв і перевірте, чи виявлено вашу плату STM32 у розділі COM та порт, як показано нижче. Шахта підключена до COM8 з назвою Maple Mini.
Перейдіть до Інструменти та прокрутіть вниз, щоб знайти загальну серію STM32F103C, як показано нижче. Потім переконайтеся, що варіант 64k типу спалаху , швидкість процесора 72МГц і змінити метод завантаження на STM32duino Bootloader . Також виберіть правильний COM-порт відповідно до того, який знаходиться на диспетчері пристрою.
Після внесення всіх змін перевірте нижній правий кут IDE Arduino, і ви помітите, що встановлюється таке налаштування. Моя плата STM32 підключена до COM8, але ваша може відрізнятися
Тепер Ardeino IDE готовий запрограмувати STM 32 Blue Pill Board. Давайте завантажимо зразкову програму блимання з IDE Arduino на дошку STM32 Blue Pill, щоб переконатися, що все працює належним чином. Приклад програми можна знайти за адресою
У прикладі програми, що відкривається, ми маємо внести невелику зміну. За замовчуванням програма буде записана для PB1, але на нашій платі вбудований світлодіод підключений до PC13, тому замініть усі PB1 на PC13, і ми готові продовжити. Повний приклад програми, яка модифікується також можна знайти в нижній частині цієї сторінки.
Код усередині функції циклу показаний нижче, де ми можемо помітити, що штифт PC13 тримається ВИСОКОМ (увімкненим) протягом 1000 мілісекунд, а потім вимикається НИЗКИМ (вимикається) ще на 1000 мілісекунд, і це робиться нескінченно багато разів, оскільки він знаходиться в функція циклу . Таким чином, світлодіод блимає з інтервалом 1000 мілісекунд.
digitalWrite (PC13, HIGH); // увімкнути світлодіод (HIGH - рівень напруги) затримка (1000); // чекаємо другого digitalWrite (PC13, LOW); // вимкніть світлодіод, зробивши напругу низькою затримкою (1000); // почекати секунду
Натисніть кнопку завантаження на IDE Arduino, і ваша програма повинна бути скомпільована та завантажена. Якщо все працювало належним чином, ви повинні побачити наступне на своїй консолі Arduino IDE.
Якщо програма була завантажена успішно, ви повинні бачити, як зелений світлодіод блимає з інтервалом у 1 секунду, як показано на відео нижче. Ви також можете возитися з програмою, щоб збільшити або зменшити затримку. Тепер ви можете почати використовувати плату розробки STM32 (Blue Pill), як і будь-які інші плати Arduino, тобто вам більше не потрібно змінювати положення перемичок або використовувати зовнішнє обладнання для завантаження та тестування програм.
Сподіваюся, ви зрозуміли підручник і виявили корисним розпочати роботу з дошкою STM32. Якщо у вас виникли проблеми, залиште їх у розділі коментарів, також повідомте мені, які проекти нам слід спробувати з цією платою STM32 в майбутньому.