Компания Megawin Technology Co., Ltd. была основана в Тайване в 1999 году. С 2004 г. было запущено массовое производство 8-битных микроконтроллеров (МК). На российском рынке компания известна прежде всего своими МК серий MG82 и MG84 на ядре 80C51.
Однако сегодня наш интерес привлекли 32-разрядные микроконтроллеры Megawin Technology серии MG32F02 на базе ядра Cortex-M0, которые компания с 2019 г. массово производит и поставляет в Россию. Отличное соотношение цены и качества, богатый набор встроенных периферийных модулей делают эти микроконтроллеры серьезным конкурентом в своем классе аналогичным чипам таких мировых брендов как Microchip, STM32, NXP и пр.
Этой статьей на хабре мы открываем цикл публикаций, в котором постараемся всесторонне рассмотреть все возможности микроконтроллеров Megawin серии MG32F02. Глубоких знаний по архитектуре ARM или большого опыта разработки на Cortex-M от читателя не потребуется. В то же время предлагаемый материал будет интересен разработчикам устройств на 8-разрядных ядрах 80C51 или AVR, планирующим переход на 32-разрядные системы, где любой МК на ядре Cortex-M0 — первый кандидат на замещение 8-разрядных МК.
Мы продолжаем цикл статей по 32-разрядным микроконтроллерам компании Megawin на ядре Cortex-M0. В этой статье будут рассмотрены средства разработки и программирования МК на gcc-arm, контроллер flash-памяти МК, пакет OpenOCD для взаимодействия с программатором ST-LINK, модуль GPIO и простейшая программа управления светодиодом.
Мы продолжаем цикл статей по микроконтроллерам компании Megawin на ядре Cortex-M0. В этой статье будут рассмотрены: периферийные модули UART, обработчики прерываний UART, метод отладки кода в ОЗУ МК с базовой частью инициализации во flash-памяти, механизм системных вызовов, тактирование МК от различных источников.
Продолжая цикл публикаций по микроконтроллерам на ядре Cortex-M0 компании Megawin (см. предыдущие статьи 1, 2 и 3), сегодня рассмотрим АЦП и аналоговый компаратор, а также проведем эксперименты с более "продвинутым" МК MG32F02A064.
Продолжая цикл публикаций по микроконтроллерам на ядре Cortex-M0 компании Megawin (см. предыдущие статьи 1, 2, 3 и 4), сегодня рассмотрим часы реального времени RTC, сторожевые таймеры IWDT и WWDT, а также стандартный для Cortex-M0 таймер SysTick.
Также отметим изменения в организации исходного кода. В структуру кода добавлен файл src/core.h, включающий короткие макросы доступа к регистрам МК:
Продолжая цикл публикаций по микроконтроллерам на ядре Cortex-M0 компании Megawin (см. предыдущие статьи 1, 2, 3, 4 и 5), сегодня рассмотрим таймеры общего назначения.
Продолжая цикл публикаций по микроконтроллерам на ядре Cortex-M0 компании Megawin (см. предыдущие статьи 1, 2, 3, 4, 5 и 6), сегодня рассмотрим модуль интерфейса I2C.
Продолжая цикл публикаций по микроконтроллерам на ядре Cortex-M0 компании Megawin (см. предыдущие статьи 1, 2, 3, 4, 5, 6 и 7), сегодня рассмотрим модуль интерфейса SPI в роли ведущего и ведомого, а также: