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, я пользуюсь последней. Главное её преимущество перед другими — это мощный симулятор, с поддержкой периферии и множеством виртуальных приборов. Все эти плюшки "упрощают жизнь" опытному разработчику и помогают новичку разбираться с богатой...
STM32 Режим захвата.
25-05-2016, 14:30
Режим захвата — это особый режим работы таймера, суть которого в следующем, при изменении логического уровня на определённом выводе микроконтроллера, значение счётного регистра записывается в другой регистр, который именуют регистром захвата. Для чего это надо? С помощью этого режима можно измерить длительность импульса или период сигнала. Режим захвата у STM32 обладает некоторыми особенностями:...
STM32 запуск АЦП по таймеру.
20-04-2016, 13:02
На днях мне понадобилось раз в секунду запускать АЦП преобразование и сразу же стало понятно, что битами SMPR[2:1], которые задают количество тактов между выборками АЦП, сделать это не получится, поэтому прийдётся искать другой способ. Максимальное количество тактов между выборками, которое можно задать с помощью этих битов, равно 239,5. Если к этому числу прибавить время преобразования — 12.5...
Отладка по SWD STM32.
12-01-2016, 14:10
У STM32 есть очень удобный интерфейс для отладки и прошивки МК — Serial Wire Debug, сокращено SWD. Его удобство заключается в том, что для отладки надо подключить всего два информационных вывода и соответственно два вывода питания. Схема подключения выглядит следующим образом. После того как выводы подключены, надо разрешить отладку по SWD в среде программирования, в KEIL это делается так....
STM32 не работает SPI3.
19-12-2015, 21:30
Обычно перед тем как собирать какое-то устройство реализую на макетке базовый функционал, так было и в этот раз. После того как базовый функционал был реализован, начал разводить плату, походу выяснилось, что гораздо проще развести плату если использовать SPI3, нежели SPI2, который использовался в проекте. Ну зачем создавать себе трудности, подумал тогда и развёл плату используя SPI3....
STM32 режимы  пониженного энергопотребления.
15-12-2015, 20:17
Сначала хотелось бы пару слов сказать о питающих напряжениях микроконтроллера, для нормальной работы STM32 необходимо от 2 до 3.6V, а уже встроенный стабилизатор обеспечивает 1.8 вольта для питания ядра. Ниже схематично изображена общая схема питания контроллера. Как видно, схема питания разделена на домены и каждый из них отвечает за питание определённой периферии/части МК. Уменьшить потребление...
Функция задержки STM32.
30-11-2015, 20:17
Первое на что обратил внимание, после перехода с AVR на STM32 — это отсутствие привычных функций, для реализации задержки: delay_us() и delay_ms(), ну отсутствуют так отсутствуют, подумал тогда и если надо было реализовать задержку, то делал это так....