Денис Заикин

Данная заметка будет в виде небольшого туториала. Буду рассмотрены несколько моментов: установка keil v5 и настройка для работы с микроконтроллерами различных производителей на примере STMicroelectronics и АО "ПКК Миландр".

Установка Keil.

Одним Keil нравится, другие его презирают, другие просто его не использовали ни разу. Я себя отношу к первой группе людей, меня он в принципе устраивает многим, хороший компилятор, поддержка многих семейств микроконтроллеров, удобная отладка. Из минусов разве что бедный текстовый редактор, который можно сравнить с notepad++, который за счет большого числа плагинов и то имеет более продвинутый функционал. Но всё же есть подсветка синтаксиса, индикация ошибок, какое никакое, но автодополнение и навигация по коду. И ещё он платный, что не мало важно, хотя и имеется бесплатная версия с ограничением размера кода(прошивки) в 32 килобайта.

Указатели на функции в Си.

Описание и пояснения по указателям на функции и переменные;

Денис Заикин

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

Что такое указатели и как их готовить вы наверное уже в курсе, если нет, то быстренько объясню.

Указатель - это переменная, которая содержит в себе адрес другой переменной, на которую указывает. Если проводить грубую аналогию с файловой системой в Windows, то указатель - это ярлык, а файл на который он указывает - переменная, размышляя дальше можно сказать что функция - это программа на компьютере, а ярлык для запуска программы - указатель на функцию.

Объявляются указатели следующим образом:

uint16_t *pointer_ui16 = &variable;
void *pointer_Void
char *str = "Строка";

Превращаем ST-Link в J-Link и дружим его с Миландром.

Превращаем ST-Link в J-Link и учим его работать с микроконтроллерами Миландр.

Денис Заикин
Cover Image

Уже около года прошло с момента публикации вот этой новости (SEG-JLINK. Segger J-Link debug probe for STM32) на сайте STMicroelectronics, но её я только недавно заметил.

Забегая вперед скажу, что удалось прошить мой программатор под J-Link, правда без танцев не обошлось. И пока единственное что могу сказать, так это то, что шиться контроллеры стали быстрее (а может это самовнушение).

Интересно? Тогда читайте дальше.

Управление выводами порта совмещенного с JTAGом.

Управление выводами портов MDR_PORTB и MDR_PORTD, при использовании отладочного интерфейса JTAGA и/или JTAGB. Глюки JTAG. Что делать если отваливается JTAG.

Администратор
Cover Image

Данная статья носит характер небольшой заметки, а не учебного пособия.

Одной из особенностей микроконтроллеров Миландр серии 9х (точно знаю о 92, 93 с которыми работаю), на мой взгляд, это не совсем продуманная организации управления портами ввода вывода, а именно отсутствие привычных для пользователей stm32 регистров BRR и BSRR, которые позволяют атомарно устанавливать и сбрасывать их состояние. Соответственно необходимо выполнять команды чтение-модификация-запись, что в принципе приемлемо, но...

Типовые ошибки трассировки печатных плат.

Описание руководящего документа для трассировщиков печатных плат.

Администратор
Cover Image

Задумывались как разводить платы так, что бы они максимально правильно работали? 

Предлагаю ознакомиться с отличным сборником ошибок и способов их решений. 

Подключаем энкодер с помощью таймера

Описание процесса работы с энкодером с помощью таймера в режиме захвата для микроконтроллеров STM32

Администратор
Cover Image

На этот раз рассмотрим подключение к микроконтроллеру STM32F205 (на остальных аналогично) энкодер.

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

Подключение выполним к выводам 6 и 7 порта A (это входы/выходы таймера TIM3) вот по схеме на рисунке выше.