Продолжаем работать с CMSIS. И сегодня мы к нашему контроллеру STM32F103 попробуем подключить четырехразрядный семисегментный индикатор. Причём именно сразу четырехразрядный, так как, думаю, работать со статической индикацией и с одноразрядным индикатором смысла нет, так как это используется очень редко и …

STM Урок 170. CMSIS. STM32F1. Динамическая индикация Читать далее »

В предыдущей части нашего занятия мы познакомились с утилитой make и уже написали небольшой сценарий, позволяющий нам прочувствовать принцип раздельной компиляции проекта.   Так как здесь используется другой модуль, аналогично подключим и его сборку в Makefile, написав в самом низу …

C Урок 20. MAKE. Наш первый Makefile. Часть 2 Читать далее »

До сих пор мы для сборки нашей программы пользовались командным файлом, объединяющим в себе команды для препроцессинга, компиляции, ассемблирования, компоновки файлов в исполняемый файл. Так тоже делать можно и зачастую так и делается, если дело касается проектов, которые содержат в …

C Урок 20. MAKE. Наш первый Makefile. Часть 1 Читать далее »

В уроке 165 мы настраивали ножки порта на выход. Также мы хорошо знаем, что порт — это такая шина, которая умеет работать также хорошо как на выход, так и на вход. Поэтому сегодня мы попробуем настроить ножку порта на вход. …

STM Урок 169. CMSIS. STM32F1. GPIO. Input Читать далее »

Теперь мы с вами подошли к такой ситуации, что код наших проектов достиг такой величины, что уже сложно стало его читать, потому что все функции, причём разнообразного назначения, все константы, макросы, глобальные переменные у нас находятся в одном файле main.c. …

C Урок 19. Модульное программирование. Раздельная компиляция Читать далее »

В прошлом занятии мы познакомились с системным таймером SysTick и получили возможность управлять интервалами задержек. Мы узнали возможности данного таймера, которые далеко не безграничны. Но не всё так плохо, так как у контроллеров STM32 очень много других таймеров с различными …

STM Урок 168. CMSIS. STM32F1. Таймеры Читать далее »

Составляя алгоритм нашего проекта, порой нам хочется, а иногда и это и необходимо, повлиять на ход программы во время её выполнения каким-то нестандартным образом: досрочно выйти из тела условия или цикла, пропустить итерацию в цикле, а также перейти вообще в …

C Урок 18. Инструкции break, continue, оператор goto и метки Читать далее »

До сих пор мы, используя библиотеку CMSIS, использовали задержки исполнения кода с помощью пустых тактов, тем самым нам тяжело было даже примерно подсчитать заранее, сколько циклов потребуется для организации задержки на определённое время. Так как в прошлом занятии мы смогли …

STM Урок 167. CMSIS. STM32F1. SysTick. Прерывания Читать далее »

В выражениях, где используется более одного оператора, порой мы начинаем путаться, операция с каким оператором выполнится первая, а какая вторая и т.д. И в этих случаях мы зачастую не думаем о приоритетах этих операций и начинаем использовать кучу скобок, чтобы …

C Урок 17. Приоритет операций Читать далее »

В предыдущей части урока мы изучиkb устройство RCC, а также познакомились с его основными регистрами.   Сначала напомню то, что схема наша со времён прошлого урока не изменилась     Проект мы также сделаем из проекта прошлого урока с именем BLINK01_CMSIS …

STM Урок 166. CMSIS. STM32F1. RCC. Часть 2 Читать далее »