- Описание аппаратной части платы разработки 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 КБ флэш-памяти и 96 КБ SRAM. Микроконтроллер имеет 10 16-битных и 32-битных таймеров и один 12-битный АЦП. Он также имеет три USART, три I2C, четыре SPI и один USB 2.0 для внешней связи. Вы можете ознакомиться с таблицей данных STM32F401, чтобы получить дополнительную техническую информацию.
А теперь самое интересное, как я уже говорил вам ранее, плата поддерживает все щиты Arduino. На плате есть два набора разъемов, гнездовые контакты предназначены для щитов Arduino, которые идеально подходят для нашего ESP8266 Wi-Fi Shield и нашего Semtech Arduino LoRa Shield, как вы можете видеть на изображении ниже.
Другие мужчины называются ST morpho pins, которые могут использоваться для использования выводов расширения на нашем 64-контактном микроконтроллере. Затем у нас есть кнопка сброса и настраиваемая пользователем кнопка, которая подключена к контакту PC13, а также светодиод, который подключен к контакту D13, как и Arduino. Для питания платы мы можем либо использовать порт USB, либо напрямую подавать регулируемое напряжение 5 В на E5V или на вывод 5 В. Не забудьте изменить эту перемычку, чтобы указать, как вы запитываете плату; U5V указывает, что плата питается от USB. У нас также есть еще одна интересная перемычка, называемая IDD, которую можно использовать для измерения тока, потребляемого вашим микроконтроллером, подключив к этим контактам амперметр.
Программирование плат разработки STM32 Nucleo 64
Переходя к разделу программного обеспечения, плата имеет огромную библиотеку и поддержку программирования и может быть запрограммирована с помощью Keil, IAR workbench и многих других IDE. Но интересно то, что он поддерживает среду разработки ARM Mbed и STM32Cube. Для этой статьи я решил использовать платформу ARM Mbed, потому что это онлайн-инструмент, и я нашел его очень интересным, потому что с ним можно не только свои платы ST, но и многие другие платы разработки, использующие микроконтроллер ARM.
Для новичков: ARM MBED - это платформа онлайн-разработки, предоставляемая самой ARM. Она предоставляет встроенную операционную систему, облачные сервисы и функции безопасности, позволяющие легко создавать встроенные решения на основе Интернета вещей. Это огромное сообщество с открытым исходным кодом, и для подробного ознакомления с ним потребуется отдельная статья.
Начало работы с STM32F401
Но для начала подключите плату разработки STM32 к компьютеру с помощью мини-кабеля USB. После включения вы должны заметить, что светодиоды 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 и предоставляет нам множество базовых примеров программ. А пока позвольте мне выбрать « Код мигания светодиода » и изменить его так, чтобы светодиод выключался всякий раз, когда я нажимаю кнопку.
Когда код будет готов, как показано ниже, вы можете нажать кнопку компиляции, которая предоставит вам файл bin, просто скопируйте файл bin и вставьте его на флэш-накопитель, чтобы запрограммировать плату. Вы заметите, что светодиод LD1 станет зеленым после завершения программирования. Теперь нажмите синюю кнопку, и вы заметите, что зеленый светодиод погас. Таким образом, вы можете попробовать любую из программ-примеров, чтобы изучить различные функции платы. Вы также можете вернуться на главную страницу, чтобы получить другие технические документы и поддержку сообщества.
Вы также можете посмотреть видео по ссылке внизу этой страницы, чтобы просмотреть полный обзор на этой доске.
Заключение
В целом я считаю, что эти доски - отличный выбор, если вы пытаетесь повысить свои навыки и разрабатывать сложные приложения. Благодаря практической поддержке оборудования и онлайн-сообществу процесс обучения этим платам также довольно прост, так что вы можете попробовать. Надеюсь, вам понравилась статья и вы узнали из нее что-то полезное. Если у вас есть какие-либо вопросы, оставьте их в разделе комментариев ниже или воспользуйтесь нашим форумом, чтобы задать другие технические вопросы.