Введение
В бытность мою студентом занимался я прикладным программированием на Delphi и горя не знал, но и счастья не ведал. Пока как-то раз не посетил меня на четвертом курсе предмет «Микропроцессорные контроллеры». Ну и пошло-поехало.
Серега уезжал покорять Москву, и я зашел к нему попрощаться, пожелать удачи. Взять нужно было все самое необходимое, все для новой работы и все для новой жизни. Кота хотелось бы оставить, но пришлось брать. А вот с другими обитателями квартиры – огромным числом фиалок, нужно было распрощаться.
— Возьмешь фиалку? Марина выращивает, не везти же их все с собой. Мы их всем друзьям раздаем.
Я ответил, что не держу дома цветов, поскольку забываю их поливать, и они у меня быстро загибаются. Поэтому у меня только кактус.
— Эту фиалку поливать не нужно.
Он принес из комнаты цветок, и я был вынужден признать верность его заявления. Фиалка имела «систему автополива». Растение было посажено в маленький горшок, который помещался в большой пластиковый стакан, вроде бы из под кваса. Из горшка спускалась веревочка, через которую и поступала необходимая для жизни влага. Таким образом, залив один раз пол литра, можно было не беспокоиться о цветке несколько месяцев. Фиалку я взял.
Я всей душой люблю малоизвестных производителей. Зачастую их продукты имеют фичи, недоступные у их более именитых конкурентов, по очень интересной цене (однажды меня очень выручило наличие встроенной в SoC полуамперной зарядки для аккумулятора и нескольких LDO, способных запитать всю периферию). Кроме того, сроки и условия поставки какого-нибудь Nanjing Qinheng Microelectronics могут приятно удивить разработчиков, привыкших за последние два ковидных года к конскому ценнику и 52+ неделям доставки на ST, TI, Nordic и прочие привычные вещи. Логистика становится особенно приятной, если массовое производство планируется в Китае и на площадке присутствует ваша китайская команда, способная разрулить возникающие проблемы. Да и доставка из Шеньчженя в Шеньчжень проще и предсказуемей, чем со склада глобального дистрибьютора и растаможка в России.
GSM кнопка – устройство, необходимое для людей с ограниченными возможностями, предназначено для звонка на предустановленный номер. Человеку с плохим зрением трудно тактильно набрать номер телефона, поэтому размер кнопок желательно увеличить, а их количество наоборот, уменьшить. Совместив два данных требования, получим представленное решение. Общение осуществляется через громкую связь.
При проектировании устройства на микроконтроллере бывает встает вопрос об обновлении прошивки прибора. Причем сам процесс обновления прошивки должен быть простым и доступным для обыкновенного пользователя. И конкретно для микроконтроллера STM32F103C8 возможна загрузка прошивки по UART. То есть к схеме необходимо добавлять микросхему конвертера USB-UART. Либо воспользоваться аппаратными возможностями USB микроконтроллера, что я и сделал. Меня заинтересовал вопрос о возможности обновления прошивки по USB. На некоторых МК даже есть аппаратный USB-загрузчик, но только не на STM32F103C8, поэтому пришлось все программно реализовывать. По программной части для STM32 существует USB Library от STMicroelectronics с реализованными классами USB и примерами. В частности заинтересовал класс DFU т.е. загрузка прошивки по USB. В данном классе уже реализован свой набор команд для взаимодействия МК и приложения на ПК "STM32CubeProgrammer". Но мне хотелось что-то своё, кастомное и неограниченное данным набором команд. И пришла мысль "А почему бы не реализовать всё это в классе CDC?". Тут и размер загрузчика примерно таким же оказался, но главное можно реализовать свой набор команд, работать на ПК с последовательным портом и соответственно понятнее, как написать приложение для ПК. У меня есть небольшой опыт написания приложений с использованием библиотеки QT на С++, поэтому с ее помощью была создана программа для USB загрузчика.
Фанатам ассемблера посвящается.
Всем привет! Решил подключить матрицу светодиодов 8х8 и вывести на неё решение задачи о 8 ферзях. [Описание см. на Википедии]
Процессор
В качестве процессора я выбрал компактный и шустрый процессор attiny85. Программа будет написана на ассемблере. С небольшими настройками программа должна работать на любом другом процессоре AVR: attiny и atmega.
Дисплей
В качестве дисплея используем матрицу светодиодов, которая состоит из 8 вертикальных рядов и 8 горизонтальных строк со светодиодами.
Привет, Хабр! В нашей практике разработчиков электронных устройств и встраиваемых систем мы часто сталкиваемся с необходимостью хранить параметры устройства. Это могут быть, например, такие параметры как яркость дисплея, язык, рабочая частота радиоканала или IP адрес – да что угодно. Единого общепринятого подхода для решения этой задачи нет, и я предлагаю обсудить ниже наиболее очевидные варианты, их достоинства и недостатки, а также предложить реализацию, к которой я пришел в результате работы над несколькими проектами. Поехали!