Notice: Memcache::get(): Server localhost (tcp 11211) failed with: Connection refused (111) in /home/a146/www/we.easyelectronics.ru/engine/lib/external/DklabCache/Zend/Cache/Backend/Memcached.php on line 134
оптимизация / Поиск по тегам / Сообщество EasyElectronics.ru

Знакосинтезирующий ЖКИ 1602 и клавиатура: экономим выводы микроконтроллера

В рамках данной заметки мы рассмотрим, как можно сэкономить выводы микроконтроллера при использовании знакосинтезирующего жидкокристаллического индикатора совместно с кнопками управления меню устройства. Будет показано, что при использовании «обычного» ЖКИ (т.е. собранном на контроллере типа HD44780) и «стандартном» способе управления меню (кнопки «MENU/SELECT», «UP», «DOWN», «+» и «-») для опроса кнопок не требуется каких-либо дополнительных ресурсов камня, кроме уже задействованных под управление индикатором:





Читать дальше

Поменьше математики процессору, или оптимизация расчётов.

Досталась горстка дохлых ноутбучных батарей, тех самых, что на литиевых габарита 18650 собраны. По этому случаю делаю тут измеритель фактической ёмкости акумуляторов, чтобы хоть как то отбраковать их. Хочется видеть цифры по итогу в удобоваримом формате. А поскольку делаю на ATTiny26 (Не пинать! Ну, завалялся у меня.), то тащить вычисления с точкой накладно. Сел, помозговал — решаемо. Материал под катом может кому-то показаться очевидной истиной, может оказаться кому-то не востребованным, но надеюсь — большинство хоть что-нибудь подчерпнут для себя. Для нетерпеливых итог:
(1)(1)
Для тех, кто не боится формул — ниже.

Читать дальше

Минималистичная очередь задач на C.

Недавно тут появилась замечательная статья про реализацию кольцевого буфера на C++ [1]. Статья весьма ценная и полезная, но, как вполне справедливо заметили в комментариях, что бы писать на крестах под контроллеры надо весьма хорошо знать этот язык, иначе красивый и, вроде бы, элегантный плюсовый код собирается в ресурсоёмкое тормозилово. Я и сам хоть и пишу десктопные проги на плюсах, под контроллеры пока предпочитаю использовать чистый С. Так вот, по этому поводу вспомнилось мне, что я как раз недавно занимался шлифовкой очереди задач на основе кольцевого буфера на сях, и я решил поделиться своими наработками — вдруг кому пригодится. Код, разумеется, платформонезависимый (ну кроме конструкции ATOMIC_BLOCK), а вот оптимизация делалась под avr-gcc и на других платформах/компиляторах может быть излишней.


Читать дальше
  • +3
  • 01 апреля 2011, 09:48
  • Alatar