Top.Mail.Ru

Профиль сообщества

Эдуард-Анисимов
Имя
Эдуард
Фамилия
Анисимов
Информация

Заканчивал институт с правом считать себя "Инженером системотехником"

По специальности никогда не работал. На последнем месте работы понадобилось старинные Советские установки переводить на цифру. Делал это на Ассемблере на PIC контроллерах.

Друг подарил чип STM. И всё началось с этого.

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

Я не знаю, зачем мне это нужно, но я хочу знать.

Поможем друг другу?

4 недели ago 4 комментария

Часть 14. STM32 и С++. Датчики BMP280 и BME280.

Сегодня рассмотрим подключение датчиков BMP280 и BME280. Описание и подключение уже рассматривалось здесь. Поэтому не будем долго толочь воду в ступе, а просто подключим и измерим. Датчики, в основном, практически одинаковы, вся разница заключается в точности и пределах измерения и, соответственно, в цене. Может есть ещё отличия, но нам они не принципиальны. Основная фишка этих ...

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

1 месяц ago no Comment

Часть 13. STM32 и C++. EEPROM AT24Cxx.

В предыдущей статье мы рассмотрели реализацию I2C на ядре Cortex-M4. Теперь настало время что-нибудь подключить. Давайте подключим серию микросхем AT24Cxx. Кроме этих микросхем можно подключить кучу разных датчиков. Позже на подходе BMP280, BME280, SGP30 и HDC1080. Других у меня пока нет. В библиотеку входит всего один конструктор и две функции. Конструктору AT24Cxx(I2C* I2C_Ptr, uint8_t DevAddress, ...

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

1 месяц ago 1 Comment

Часть 12. STM32 и C++. I2C в Cortex-M4.

Сегодня расскажу, как работать с I2C на ядре Cortex-M4. Для других ядер алгоритм будет другой. Почему так сделано, не знаю. Я долго пытался искать информацию, как это делается, но всё, что я находил, не работало. На каком-то форуме нашёл инфу, где человек сказал, что правильная работа описана то ли в даташите, то ли ещё где-то. ...

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

2 месяца ago no Comment

Часть 11. STM32 и C++. Драйвер дисплея HX8347D.

В этой статье расскажу, как пишутся драйвера для дисплеев. В принципе, любых, независимо от интерфейса. Сегодня рассмотрим HX8347G. Дисплей довольно тормозной, и тормознутость GFX_TFT дает довольно термоядерное сочетание медлительности. Но для примера подойдёт. Дисплей рассчитан на 8-ми битный интерфейс. Питание от 5 вольт, но контроллер дисплея и подсветка работают от 3.3 вольт. На плате дисплея ...

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

2 месяца ago 2 комментария

Часть 10. STM32 и C++. GPIO на классах. Изменения в библиотеке.

Давно назревала ситуация изменить немного библиотеку. Раньше я подключал 4-х, 8-ми выводные интерфейсы к строго определённым выводам. Это накладывало некоторые ограничения на написание драйверов для дисплеев. Приходилось заниматься ногодрыжеством. Решил положить этому конец и немного модернизировать библиотеку. Изменения коснулись файлов gpio_main.* и IO_Digital.*. В чём суть изменения? Возьмём LCD1602, подключенный по 8-ми битному интерфейсу. Его ...

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

3 месяца ago 12 комментариев

Часть 9. STM32 и С++. Библиотека UART.

Теперь рассмотрим UART и USART - инициализация, передача/приём, так как вещь очень нужная как минимум при отладке кода. Ведь некоторые процессы, происходящие при выполнении, неудобно отслеживать отладчиком CubeIDE. Предупреждение: Во всех модулях, которые я пишу, нет защиты от дурака. Я пошёл на это ради уменьшения кода, да и ленивый я. Поэтому необходимо заранее распланировать, ещё ...

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

3 месяца ago no Comment

Часть 8. STM32 и С++. Библиотеки Print и GFX_TFT.

Данная статья немного выбивается из темы, но я опишу немного эти библиотеки. Это один из моих первых опытов переделки Ардуиновских библиотек. Всё будет кратенько, так как описывать, что я сделал, ресурсов не хватит. Да и не нужно это. Если кто-то пробовал писать для Ардуино, могли заметить, что в программном ядре существует класс Print. Этот класс ...

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

3 месяца ago 9 комментариев

Часть 7. STM32 и С++. Библиотека SButton.

В своё время я наткнулся на сайт Гайвера, и мне подарили Arduino NANO. Я почитал его статьи. Поморгал диодом и бросил всё это дело. Тогда я программировал на ASM под PIC контроллеры и для меня было мучением найти или разработать простейшие библиотеки. Работа с кнопками, дисплеями и т. д. Купил несколько Ардуин и быстро наваял ...

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

3 месяца ago 1 Comment

Часть 6. STM32 и С++. GPIO на классах.

Забыл предупредить. Всё, что я рассказываю, справедливо практически для всех ядер МК. Я привожу примеры для STM32F4xx. Но в архивах и на Яндекс Диске есть всё то же самое для МК STM32F0xx, STM32F1xx, STM32F4xx, STM32L0xx, STM32L1xx. Всё это богатство в разной степени готовности. Так как писалось это всё в разное время, библиотеки могут или отличаться ...

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

3 месяца ago 2 комментария

Часть 5. STM32 и C++. Инициализация GPIO.

Данная статья будет последней вводной статьей перед тем, как мы начнём писать классы! GPIO. Общая концепция инициализации. Вверху на схеме - базовая структура порта. Может помочь в понимании дальнейшего текста. Характерна для Cortex-M0. Для других может незначительно отличаться. Список регистров для разных ядер также может отличаться, особенно эта разница заметна у Cortex-M3. С ними разберёмся ...

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