STM32 FLASH.
5-05-2018, 19:10
Думаю постоянные посетители сайта заметили, что предпочитаю все делать на регистрах, но иногда все таки использую SPL. Например, в статье про самописный бутлоадер, использовались библиотечные функции для работы с флэш памятью. В очередной раз, подключая эту библиотеку, решил, что она занимает много места и решил самостоятельно реализовать необходимые функции. Для работы с флэш памятью...
STM32 RTC, Calendar.
19-04-2018, 13:25
Начнем с того, что RTC — это аббревиатура которая расшифровывается следующим образом Real-time clock или по-русски, часы реального времени. В былые времена, при использовании МК AVR в качестве RTC, использовал отдельную микросхему, общение с которой происходило по определенному протоколу. У STM32 RTC же представляет собой модуль, реализованный внутри МК. У STM32 RTC обладает следующими...
STM32 проблемы при подключении дисплея по LTDC.
26-03-2018, 14:41
В одной из прошлых статей описывал, как подключить дисплей к микроконтроллеру семейства STM32, используя интерфейс LTDC. Статья оканчивалась видеороликом, в котором на встроенный в DISCOVERY дисплей, выводилось изображение. Конечно же следующим желанием было запустить, что-то побольше и подключить это самостоятельно, чтобы в голове сложилась полная картина. С Китая был заказан 7-дюймовый дисплей...
STM32F3 проблемы с SPI.
22-02-2018, 18:07
При переносе одного из проектов с сотой серии на трехсотую столкнулся с проблемой, посылки SPI всегда были длиной 16 бит, а мне нужно было 8. Что интересно у сотой серии для настройки длины пакета SPI выделен один бит DFF(Data frame format)  , когда он сброшен длина посылки 8 бит, когда установлен 16. В трехсотой серии под это дело выделили битовое поле длиной 4 бита и длину посылки можно...
STM32 описание работы LTDC.
3-12-2017, 20:10
Около полугода назад один из постоянных посетителей сайта отправил мне отладочную плату STM32F429I DISCO. На мои рассказы, что она мне не нужна, он ответил, что это подарок и его следует принять. А ещё он где-то вычитал, что оперативка на плате нужна для работы дисплея и интересовался у меня для чего именно, но ответа на этот вопрос у меня не было. Понятно было, что оперативка выступает в...
STM32 DMA MEM2MEM.
21-11-2017, 15:28
В одной из прошлых статей уже описывал, что такое DMA и приводил пример его работы в связке с АЦП. В том примере, результаты преобразования АЦП записывались в буфер без участия ядра. В этот раз мне надо было перенести буфер из одного участка памяти в другой и я точно знал, что это можно сделать с помощью DMA используя режим MEM2MEM....
STM32 измерение частоты.
13-10-2017, 10:31
В одной из прошлых статей рассказывал про режим захвата у STM32 и приводил пример как с его помощью измерить период сигнала. Но таким способом не получится ТОЧНО измерить период высокочастотного сигнала.(дальше станет понятно какой сигнал считать высокочастотным) Предположим, что частота исследуемого сигнала 1MНz, а наш таймер отсчитывает 72млн в секунду. Переведем значения частоты в период....
Пишем свой бутлоадер для STM32, продолжение.
24-05-2017, 00:18
Когда дописывал прошлую статью, на радиокоте наткнулся на тему где обсуждали в каком формате передавать прошивку бутлоадеру. У меня тоже возникал такой вопрос и в конце прошлой статьи описал почему передавать прошивку удобнее hex файлом, чем бинарником, кому интересно могут почитать тут. Значит так, нам надо рассмотреть какие бывают типы записей в hex файле и дополнить код из прошлой статьи. Все...
Пишем свой бутлоадер для STM32.
10-05-2017, 13:32
В одной из прошлых статей описывал как прошить STM32 с помощью бутлоадера и объяснял принцип его работы. Для тех кто её не читал напомню, что бутлоадер, по сути, это программа, которая живёт в МК и может перезаписывать его память, то есть обновлять прошивку. Думаю у кого-то мог возникнуть вопрос, зачем писать бутлоадер самому, если можно пользоваться встроенным? Ответ на этот вопрос очень прост,...
Как прошить STM32 средствами KEIL UVISION.
9-02-2017, 17:19
Как-то раз один знакомый ругался на меня за то, что вместо проекта скинул ему hex и у него так и не получилось залить его в микроконтроллер. Я, честно говоря так и не понял чего он ругался на меня, ведь не получилось у него)))Эта ситуация подтолкнула меня к написанию статьи. Итак у нас есть прошивка, которую мы хотим залить в МК. Первым делом, надо создать пустой проект, выбрав при этом МК,...
Как отследить переполнение стека в KEIL UVISION.
7-02-2017, 14:55
В интернете достаточно информации про стек поэтому вряд ли смогу рассказать что-то новое. Если кто-то всё-таки не в курсе, то стек — это область в оперативной памяти, которая работает по принципу стопки тарелок. Что это за принцип такой? Принцип заключается в том, что если перед нами стоит стопка одинаковых тарелок и нам надо взять одну, то мы возьмём верхнюю, её взять проще всего. Этот же...
Push-pull  VS open-drain.
25-01-2017, 15:17
В конце прошлой статьи обещал рассказать чем отличается выход push-pull(PP) от open-drain(OD).  Для того чтобы разобраться, предлагаю рассмотреть устройство выхода push-pull. По сути, он состоит из двух ключей, один подтягивает вывод к питанию, другой к земле. А теперь open-drain....
STM32F3 и STM32F4 GPIO.
18-01-2017, 19:31
Ранее на сайте уже была опубликована статья о том как конфигурировать выводы STM32, она посвящалась микроконтроллерам 100 серии, хотя явно об этом в статье не говорилось. В этой статье речь пойдёт о микроконтроллерах 300 и 400 серии. Перед настройкой любого вывода МК обязательно надо включить тактирование соответствующего порта!!! Каждый вывод МК может быть сконфигурирован в одно из состояний. На...
STM32 быстрое преобразование Фурье.
14-12-2016, 13:42
Давно хотелось прикрутить к осциллографу, который описывал тут, преобразование Фурье, но почему-то руки не доходили. Совсем недавно, месяц назад решил увеличить частоту сэмплирования ослика, заменив stm32F103VE с частотой сэмплирования 1М на stm32F303VC c частотой сэмплирования 5М. После замены чипа и изменения программы решил всё-таки разобраться с быстрым преобразованием Фурье(БФП или FFT). ...
STM32 BSRR VS ODR.
20-10-2016, 19:43
Те кто читает эту статью, думаю знают, что записать единицу в нулевой бит порта А можно двумя способами GPIOA->ODR |= GPIO_ODR_ODR0; или GPIOA->BSRR = GPIO_BSRR_BS0; И везде пишут, что второй способ правильнее так, как установка бита в таком случае выполянется атомарно. Тут не поспоришь. А теперь давайте представим ситуацию, у нас есть восьмибитная шина, по которой передаются данные,...
Измерение температуры с помощью термопары, на примере MAX6675 для STM32.
21-09-2016, 16:41
В последнее время появилась необходимость в печке для пайки оплавлением. Для тех кто не знает, что это такое, в двух словах опишу, как она работает и для чего она нужна. Есть у меня десяток плат, которые надо собрать, элементы на плате в основном smd. Сейчас платы собираются по следующему алгоритму: сначала с помощью шприца наношу на контактные площадки паяльную пасту, затем раскладываю элементы....
STM32 тактирование.
17-09-2016, 15:15
Первое время для того, чтобы упростить написание программ для STM32 не вдавался в тонкости настройки системы тактирования, а выбирал частоту системной шины в файле system_stm32f10x.c, просто расскоментировав нужную строку. Но если уж доходило дело до настройки частоты тактирования отдельных блоков(например АЦП), то использовал CUBE. Перед глазами вся система тактирования, что очень удобно и...
Подключение резистивной сенсорной панели c драйвером XPT2046 к STM32 и её калибровка по четырём точкам.
11-08-2016, 13:07
Статей про резистивные сенсорные панели на сайте уже несколько, тут можно почитать как они работают, а тут как подключить её к AVR и произвести калибровку. Поэтому далее рассказ пойдёт лишь о тонкостях работы с такой панелью. Как известно, обмен данными c XPT2046 происходит по SPI, поэтому надо просто найти свободный и подключится к нему. Обычно чтобы посмотреть под какой SPI какие выводы...
Подключение TFT дисплея по FSMC к STM32, на примере SSD1963 .
3-08-2016, 19:11
Дело было так, один из посетителей сайта выслал мне, в качестве подарка, 5 дюймовый TFT дисплей, который управляется драйвером SSD1963. Дней через десять посылка прибыла, но на коробке, в которую он был упакован, была вмятина, а сам дисплей был разбит. Написал об этом отправителю и он сразу же заказал на моё имя такой же дисплей на ebay, за что ему спасибо. Прошло не более двух недель с момента...
Создание проекта в Keil uVision.
21-07-2016, 17:32
Один из вопросов, который возникает, при переходе на STM32: «Какую среду разработки выбрать?» Наверное самые популярные — это Coocox, IAR и Keil uVision, я пользуюсь последней. Главное её преимущество перед другими — это мощный симулятор, с поддержкой периферии и множеством виртуальных приборов. Все эти плюшки "упрощают жизнь" опытному разработчику и помогают новичку разбираться с богатой...