Ранее в посте Микроконтроллеры AVR: пример работы с часами реального времени DS1302 отмечалось, что DS1302 было бы довольно глупо использовать с микроконтроллерами STM32, так как у них есть встроенные часы реального времени. Давайте же попробуем разобраться, как происходит работа с этими встроенными RTC, и что они умеют.
Народная мудрость гласит, что правильно сделать шифрование в своем приложении крайне непросто. Свой велосипед почти наверняка будет содержать крайне неочевидные простому смертному дефекты, которые последние 20 лет исправлялись в существующих криптографических пакетах. Поэтому в любой непонятной ситуации нужно использовать готовые наработки, такие, как OpenSSL, LibreSSL, GPG или OTR. Но что делать, если для вашей конкретной задачи нет готового решения? Например, вы реализуете шифрование на уровне страниц для вашей СУБД, или вам нужно шифровать короткие сообщения, передаваемые с помощью NRF24L01 в самопальном IoT-проекте. В данном случае у вас действительно может не быть большого выбора. Но, по крайней мере, вы можете уменьшить шанс появления существенных дефектов в вашем приложении, используя проверенные временем алгоритмы и режимы шифрования.
Если вы читали пост Знакомимся с Sigrok и логическим анализатором DSLogic, то помните, что для Sigrok можно писать декодеры протоколов (protocol decoders, в документации к Sigrok часто используется сокращение PD) на Python. Однако в посте ничего не говорится о том, как их, собственно, писать. Пришло время заполнить этот пробел.
Некоторое время назад мы познакомились с цветными TFT-дисплеями на базе контроллера ST7735. Дисплеи эти весьма неплохи, но не лишены недостатков. В частности, максимальная диагональ таких дисплеев составляет 1.8 дюйма, а разрешение ограничено 128x160 пикселями, что может подходить не для всех проектов. Поэтому сегодня речь пойдет о TFT-дисплеях на базе ILI9341, имеющих среди прочих преимуществ больший размер и большее разрешение.
В данном посте вы найдете рецензии на 10 книг, прочитанных мной за последнее время. Так получилось, что на сей раз это были в основном книги об электронике, радио и программировании микроконтроллеров, но не только. Более ранние мои рецензии вы найдете здесь: восемнадцатый десяток, семнадцатый десяток, шестнадцатый десяток, пятнадцатый десяток.
В рамках статьи Учимся работать с SDHC/SDXC-картами по протоколу SPI мы освоили использование SD-карт подобно блочным устройствам в *nix системах, то есть, читая и записывая блоки размером 512 байт. Навык этот, бесспорно, полезен, но настоящая крутизна заключается в умении работать с файловыми системами на эти картах. Написать соответствующую библиотеку с нуля — это проект далеко не на один и не на два вечера, как в случае с какими-нибудь OLED-экранчиками. Поэтому даже такой изобретатель колес, как я, в данном случае был вынужден использовать что-то готовое. А именно, библиотеку FatFs.
Сегодня SD-карты используются повсюду. Они втыкаются в ноутбуки, планшеты, телефоны, видеокамеры, роутеры, фоторамки, диктофоны, электронные книги, mp3-плееры, одноплатные компьютеры и даже квадрокоптеры — словом, они везде. Часто о них думают, как об относительно медленных устройствах, способных хранить пару гигабайт информации. Однако в наши дни уже доступны SD-карты объемом 512 Гб и скоростью чтения-записи 90 Мбайт/сек (не мегабит!). Теоретически же объем хранимой информации ограничен 2 Тб. А чем еще прекрасны SD-карты, это тем, что с ними можно работать по незамысловатому протоколу, основанному на SPI.
Если зайти на eBay и ввести в поиске «ST7735», можно найти немало модулей с дисплеем на базе данного контроллера. Модули обычно бывают двух типов — с TFT-дисплеем диагональю 1.44" и разрешением 128x128 пикселей, а также с диагональю 1.8" и разрешением 128x160 пикселей. Последние в большинстве случаев также имеют и разъем для подключения SD-карт. Дисплеи позволят отображать 65536 цветов в палитре R5G6B5. Интересны данные модули тем, что будучи чуть-чуть дороже популярных 0.96-дюймовых OLED-экранчиков на базе SSD1306 предлагают существенно большие разрешение и диагональ, а также в ~30 тысяч раз больше цветов.
Вы можете помнить заметку про интерактивный дизассемблер Hopper, в рамках которой мы познакомились с недорогой (99$) альтернативой IDA Pro. А если я скажу вам, что существует не просто недорогая, а полностью бесплатная и открытая альтернатива, которая по многим показателям превосходит Hopper, а по некоторым и саму IDA Pro? Лет 10 назад мне было бы трудно в это поверить, но сегодня существование такого решения — это объективная действительность. Решение называется Radare2.
Часы реального времени (Real Time Clock, RTC) — это интегральная схема, предназначенная для отслеживания хода времени. RTC питаются от батарейки, что позволяет им продолжать работу даже тогда, когда все остальные части устройства обесточены. Именно благодаря часам реального времени ваш ноутбук всегда знает текущие время и дату, даже если он год пролежал выключенным. В этой заметке мы познакомимся с часами реального времени DS1302 и рассмотрим пример их использования микроконтроллерами AVR.