- Пояснення до апаратного забезпечення плати розробки STM32 Nucleo 64
- Програмування дошок розвитку STM32 Nucleo 64
- Початок роботи зі STM32F401
- Висновок
- Відео
Для більшості людей першою вбудованою дошкою розробки, над якою вони б працювали, швидше за все, стала б дошка Arduino. Але, як і всі, що можна погодитись, ваш Arduino міг доставити вас лише так далеко, і колись вам доведеться перейти на рідну платформу мікроконтролера. Цей процес можна значно спростити за допомогою цієї плати розробки STM32, оскільки він може підтримувати всі екрани Arduino, щоб допомогти вам на апаратній стороні, а також має безліч вбудованих бібліотек і функцій, які допоможуть вам на стороні програмного забезпечення. Ознайомлення з мікроконтролерами STM32 допоможе вам легко дослідити інші модулі розробки від ST, такі як SensorTile.Box, які ми розглядали раніше. Тож у цій статті давайте повністю розглянемо ці плати розробки STM32 Nucleo-64 та дізнаємося, як ними користуватися.
Зараз доступно багато версій плат STM32, і саме ця в моїй руці називається STM32F401 Nucleo-64. Назва STM32 означає, що на нашій платі розробки є 32-розрядний мікроконтролер, а назва Nucleo-64 означає, що мікроконтролер має 64 висновки. Подібним чином існує багато інших версій плат Nucleo 64, таких як STM32F103, STM32F303 тощо, але як тільки ви дізнаєтесь про одну плату, всі інші досить схожі.
Пояснення до апаратного забезпечення плати розробки STM32 Nucleo 64
Почнемо з розпаковування нашої Ради розвитку. Як бачите, повний пакет складається лише з нашої дошки розробок та картки з інструкціями. На картці з інструкціями згадуються технічні характеристики контролера, його розпіновки, а на тильній стороні ми маємо деяку інформацію про те, як розпочати роботу, та доступні варіанти набору інструментів.
Придивившись до дошки, ми можемо виявити, що дошка розділена на два регіони. Верхній розділ - це налагоджувач ST-Link / V2 та програміст, а нижній - ваша фактична плата розробки. Таким чином, ви можете легко запрограмувати та налагодити вашу плату з коробки лише за допомогою додаткового кабелю USB, який можна підключити до міні-порту USB на платі.
На перший погляд, на платі може здатися багато перемичок та компонентів, але всі вони є, щоб полегшити нам ситуацію. Два перемички, які ви знайдете з будь-якої сторони плати CN11 і CN12, насправді є фіктивними перемичками, ці перемички можуть бути використані для інших цілей, якщо це буде потрібно в майбутньому. Два перемички на CN2 використовуються для з'єднання розділу програміста та налагоджувача з нашою платою розробки. Надалі ви можете вилучити ці перемички, щоб використовувати програмувач для інших мікроконтролерів ST через ці штифти. І цей штир роз'єму JP1 можна закрити, щоб обмежити струм USB до 100 мА, якщо залишити його відкритим, максимальний струм буде 300 мА. Тут ми маємо триколірний світлодіод (LD1), який включається як червоний, коли плата живиться, і стає зеленою, коли плата успішно запрограмована, і стає оранжевою, коли виникає збій зв'язку.
Переходячи до розділу розробки, ми маємо тут найважливіший компонент - мікроконтролер STM32F401RET6. Це 64-контактний 32-розрядний мікроконтролер з процесором ARM Cortex M4, що працює на частоті 84 МГц. Він також має 512 Кб Flash і 96 Кб SRAM. Мікроконтролер має 10 таймерів 16-розрядних і 32-розрядних і один 12-розрядний АЦП. Він також має три USART, три I2C, чотири SPI та один USB 2.0 для зовнішнього зв'язку. Ви можете перевірити таблицю даних STM32F401, щоб отримати більше технічної інформації.
Тепер ось цікава частина, як я вже говорив вам раніше, плата підтримує всі щити Arduino. Плата має два набори роз'ємів, жіночі штирі призначені для екранів Arduino, які ідеально підходять для нашого ESP8266 Wi-Fi Shield і нашого Semtech Arduino LoRa Shield, як ви можете бачити на зображенні нижче.
Інші чоловіки називаються ST морфо-штифтами, які можна використовувати для розкручування штифтів на нашому 64-контактному мікроконтролері. Тоді ми маємо тут кнопку скидання і настроювану користувачем кнопку, яка підключена до виводу PC13, а також тут світлодіод, який підключений до виводу D13 так само, як Arduino. Для живлення плати ми можемо використовувати USB-порт або безпосередньо забезпечити регульований 5 В до E5V або до 5-контактного виводу тут. Не забудьте змінити цю перемичку, щоб вказати, як ви живите плату; U5V означає, що плата живиться від USB. У нас також є ще один цікавий штифт перемички, який називається IDD, за допомогою якого можна виміряти, скільки струму споживає ваш мікроконтролер, підключивши до цих штифтів амперметр.
Програмування дошок розвитку STM32 Nucleo 64
Дійшовши до розділу програмного забезпечення, плата має величезну бібліотеку та підтримку програмування, і її можна програмувати за допомогою Keil, IAR workbench та багатьох інших середовищ розробки. Але цікаво те, що він підтримує середовище розробки ARM Mbed та STM32Cube. Заради цієї статті я вирішив використовувати платформу ARM Mbed, оскільки це Інтернет-інструмент, і я знайшов її дуже цікавою, оскільки з нею можна використовувати не тільки свої плати ST, але й багато інших плат розвитку, які використовують мікроконтролер ARM.
Для тих, хто новачок, ARM MBED - це платформа онлайн-розробки, яку пропонує сама ARM, і вона надає вам вбудовану операційну систему, хмарні сервіси та функції безпеки для легкого створення вбудованих рішень на основі IoT. Це величезна спільнота з відкритим кодом, і для детальної інформації про неї буде потрібно окрема стаття.
Початок роботи зі STM32F401
Але для початку використовуйте міні-кабель USB для підключення плати розробки STM32 до комп’ютера. Після подачі живлення ви повинні помітити, що світлодіоди LD1 та LD3 загоряються червоним кольором, а програмований світлодіод LD2 блиматиме таким зеленим кольором.
Ви також помітите на своєму комп'ютері нову флешку з назвою “NODE_F401RE”. Відкрийте його, і ви знайдете два файли, а саме details.txt та mbed.htm, як показано нижче.
Ви можете запустити файл Mbed.htm, щоб безпосередньо розпочати програмування вашої дошки в Інтернеті за допомогою arm Mbed. Але перед тим, як ми потрапимо туди, ми встановили необхідні драйвери та зареєструвались для Mbed. Шукайте програмне забезпечення драйвера STSW-link009 і завантажте його безпосередньо з веб-сайту ST, встановіть драйвер і переконайтеся, що пристрій правильно виявлено в диспетчері пристроїв, як показано тут.
Поверніться до своєї платформи mbed, щоб зареєструватися на MBED.com зі своїми обліковими даними. Потім натисніть на файл MBED.HTM, і вас привітає наступна сторінка.
Прокрутіть вниз і натисніть « Відкрити компілятор Mbed ». Як бачите, компілятор вже визнав нашу платформу Nucleo-F401RE і надає нам безліч основних прикладних програм. Наразі дозвольте мені вибрати “ LED Blinky code ” та змінити його так, щоб світлодіод вимикався кожного разу, коли я натискаю кнопку.
Після того, як код готовий, як показано нижче, ви можете натиснути на кнопку компіляції, яка надасть вам файл bin, просто скопіюйте файл bin та вставте його на свою флешку для програмування вашої дошки. Ви помітите, що світлодіод LD1 стає зеленим після завершення програмування. Тепер натисніть синю кнопку, і ви помітите, як зелений світлодіод вимикається. Як і ви можете спробувати будь-яку з прикладних програм, щоб вивчити різні функціональні можливості дошки. Ви також можете повернутися на головну сторінку, щоб отримати інші технічні документи та підтримку громади.
Ви також можете переглянути відео, на яке посилається внизу цієї сторінки, щоб переглянути повний огляд на цій дошці.
Висновок
Загалом, я вважаю, що ці дошки є чудовим вибором, якщо ви намагаєтеся підвищити свої навички та розробити вдосконалені програми. Завдяки практичній апаратній підтримці та Інтернет-спільноті крива навчання цих плат також досить проста, тому ви можете спробувати. Сподіваюся, вам сподобалась стаття і ви дізналися з неї щось корисне. Якщо у вас виникли запитання, залиште їх у розділі коментарів нижче або використовуйте наші форуми для інших технічних питань.