Режим ШИМ (Широтно-Импульсная Модуляция). Попробуем последовательно разобраться с таймерами, так как всё сразу понять проблематично. Начнём с вопроса - что такое ШИМ? ШИМ характерен тем, что частота сигнала постоянна, а коэффициент заполнения меняется. Не правда ли страшно звучит? Итак, что такое частота? Это характеристика, которая показывает, как часто сигнал переходит из состояния "0", в состояние ...
Продолжим знакомиться с дисплеями с точки зрения "железячника". Рассмотрим, как делается вывод текста на экраны TFT и обычные, монохромные. Начнём с того, что из себя представляет дисплей в целом... Для простоты возьмём цветной TFT, его особенность в том, что каждая точка на нём, в отличии от чёрно-белых, имеет свой уникальный адрес. Схематичная структура дисплея выглядит ...
Продолжу теорию работы с различным железом. Сейчас рассмотрим TFT-дисплеи, для конкретики рассмотрим дисплей на контроллере ILI9341. Как устроен дисплей. Основой дисплея (чаще всего) являются: TFT-матрица; Контроллер дисплея; Интерфейс; Преобразователи уровня; Питание. TFT-матрица. Прежде чем рассматривать дисплей определимся с цветами. Практически все матрицы - RGB, бывают BGR или что-то иное, но это только порядок следования цветов ...
Допустим, нам нужно разработать БП для какого-либо устройства на одном литий-ионном аккумуляторе. Аккумуляторы имеют две основные формы - прямоугольные (плоские) и цилиндрические. Для того, чтобы разработать БП, нам нужно учесть кучу всего: Напряжение питания устройства; Потребляемый ток; Тип зарядного устройства; Падение напряжения на стабилизаторе; Стабильность напряжения на выходе стабилизатора; Пульсации на выходе БП. Напряжение питания ...
В прошлый раз я рассказывал, что такое адресное пространство МК, и как мог показал отличия разных архитектур. Настала пора рассказать, как примерно устроены порты GPIO, и с чем их лучше готовить. Каждый функциональный регистр - это, с точки зрения программиста, просто адрес, куда мы пишем или откуда читаем данные. Но с точки зрения железячника это ...
Как всё устроено "внутрях". Данный опус меня побудило написать приобретение новых друзей, которые хотят изучать STM. Есть много разных хороших книг, но многие из них сразу начинают рассказывать, как всё это программируется, и не касаются внутренней структуры самого МК. Можно найти отдельных авторов, которые небольшими статьями пытаются объяснить, как все устроено. Но приходится всё это ...
В статье "Часть 12. STM32 и C++. I2C в Cortex-M4" я описал, как работать с I2C на ядрах Cortex-M4. Продолжая работать с I2C на других чипах, я столкнулся с тем что данный способ общения с I2C корректен не для всех ядер. Описанный способ точно подходит для STM32F405xx и STM32F407xx, вполне возможно что подходит также и ...
Продолжение предыдущей статьи. Если разобрались в том, что я и сам плохо понимаю (для тех, кто не понял - шутка), будем продолжать разбираться дальше. Есть два способа обмена: просто ведущий стучится к ведомому, тот в ответ высылает пакет со всеми данными, и второй способ, похожий на ModBUS (совсем чуть-чуть). В этом случае ведущий передаёт один ...
ModBUS. О нем много было рассказано, много копий сломано. Но сложилась ситуация таким образом, что никто и ничего не рассказал о том, как пишется прошивка для ведомого, а не для ведущего. Как создаются регистры, как они заполняются, каким образом отыскивается нужный регистр. Вот общение с ведомым обсосано со всех сторон, но разговор сейчас не о ...
Что-то мне так сильно повезло, что у меня попёрли дисплеи на SPI, и поэтому пришлось написать библиотеку для работы с этим интерфейсом. Так как очень многие дисплеи могут работать только ведомыми (slave) и могут только принимать данные, написал только часть касающуюся передачи. Постарался сделать все типы передачи данных и часть функций чтения. Хоть передачу и ...