Top.Mail.Ru

STM32 с нуля. FreeRTOS. Типы многозадачности, пример программы.

Как и обещал, сейчас попробуем реализовать что-нибудь посложнее мигания диодами на базе FreeRTOS. Но сначала немного теории, которая нам понадобится для понимания сути работы ОСРВ. Помните, мы говорили о многозадачности операционных систем реального времени? Так вот, существуют три разных типа многозадачности. Первый из них мы использовали в предыдущей статье – это вытесняющая многозадачность. Что же ...

Продолжить чтение

STM32 с нуля. FreeRTOS. Обзор и установка операционной системы.

При разработке электронных устройств до поры до времени (иногда довольно долго) удается обходиться без использования операционной системы. Но наступает момент, когда разрабатываемый девайс должен выполнять огромное количество различных функций или, например, должен обеспечивать возможность добавления новой задачи позднее. В этих случаях обойтись без RTOS (операционная система реального времени, ОСРВ) становится невозможно. Как раз про RTOS ...

Продолжить чтение

STM32 с нуля. Использование модулей DMA и USART.

Пришло время рассказать об одной потрясающей штуке под названием DMA – то есть прямой доступ к памяти (Direct Memory Access). Поясню что же это такое. В двух словах – прямой доступ к памяти позволяет перемещать данные без (!) участия центрального процессора. То есть процессор работает себе спокойно над своими задачами, не отвлекается ни на что, ...

Продолжить чтение

STM32 с нуля. Timer. Использование таймеров для генерации ШИМ.

Чуть ранее (в этой статье) мы рассмотрели в общих чертах таймеры в STM32 и написали простенькую программку. Теперь, как и обещал, поподробнее покопаем генерацию ШИМ при помощи все того же таймера TIM4. Итак, начинаем! Время традиционной вставки: поскольку компания STMicroelectronics прекратила поддержку библиотеки SPL, которая использовалась в этом курсе, я создал новый, посвященный работе уже с ...

Продолжить чтение

STM32 с нуля. Timer. Настройка и использование таймеров.

Таймеры в STM32, как, в принципе, и вся периферия, являются очень навороченными. От обилия разных функций, которые могут выполнять таймеры может даже закружиться голова. Хотя, казалось бы, таймер он на то и таймер, чтобы просто считать. Но на деле все гораздо круче! Мало того, что таймеры обладают такими широкими возможностями, так их еще несколько у ...

Продолжить чтение

STM32 с нуля. Инструменты для отладки в IDE Keil.

Продолжаем изучение STM32 с нуля! Пришло время убедиться в том, что наша программа работает так, как задумано, и в этом нам поможет отладка в Keil (в статье используется Keil 4). Запускаем проект из предыдущей статьи про GPIO, компилируем и жмем на значок в виде лупы на панели инструментов. Также можно использовать сочетание Ctrl + F5 ...

Продолжить чтение

STM32 с нуля. GPIO. Использование портов ввода-вывода.

Доброго времени суток! Сегодня мы займемся изучением GPIO. И, в первую очередь, давайте посмотрим в каких режимах могут работать порты ввода-вывода в STM32F10x. А режимов этих существует море, а именно: То есть при работе на вход: При работе порта на выход имеем следующие варианты: Вот кстати документация на STM32F103CB - STM32F103CB. В даташите есть внушительная ...

Продолжить чтение

STM32 с нуля. Создание проекта и подключение библиотек в Keil.

Итак, компилятор установлен, пришло время создания первого проекта. Сразу думаю надо обсудить библиотеки, которые мы будем использовать в нашей работе с STM32. Во-первых, CMSIS. Это замечательная библиотека, единый стандарт для всех Cortex. CMSIS  позволяет легко переносить код с одного контроллера с ядром ARM Cortex на любой другой. Короче, в CMSIS стандартизирован доступ к разной периферии ...

Продолжить чтение

STM32 с нуля. Учебный курс. Введение.

Приветствую всех любителей программирования, микроконтроллеров, да и электроники в целом на нашем сайте! В этой статье немного расскажу о том, чем мы будем заниматься, а именно об учебном курсе по микроконтроллерам STM32. Итак, для начала разберемся, что же нужно знать и уметь, чтобы начать изучать STM'ки. А, в принципе, ничего супер сложного и фееричного ) ...

Продолжить чтение