Это ещё один маленький домашний DIY (апгрейд гирлянды) на, практически, самом младшем из младших микроконтроллеров из линейки ATtiny - на ATtiny10. Эти МК уже прошли пик своей популярности, лучшие характеристики можно найти за те же деньги в других МК... да что там характеристики, уже ядра в штуках раздают! (ESP32, например).
Рубрика «C» - 5
Выжимаем ATtiny10, практическое применение
2023-08-08 в 6:43, admin, рубрики: attiny10, C, c++, diy или сделай сам, гирлянда, программирование микроконтроллеров, Сезон DIY, Электроника для начинающихZig для меня — это новый C
2023-08-07 в 13:47, admin, рубрики: C, raylib, zig, Программирование, системное программирование
Вводное слово
По случаю выхода версии 0.11.0 языка Zig я решил написать статью о том, что привлекло меня в языке, что мне в нём нравится. Сам язык Zig имеет ряд интересных решений, которые выделяют его на фоне других «убийц» языка C. Коротко:
-
встроенная система сборки;
-
прямое использование заголовочных файлов написанных на C;
-
компиляция кода написанного на C компилятором Zig;
NFC-крокодил: продвинутая разработка под Flipper Zero
2023-07-19 в 11:45, admin, рубрики: C, flipper zero, NFC, Блог компании Selectel, крокодил, ненормальное программирование, реверс-инжиниринг
Мое желание делать игры с использованием различных неподходящих для этого технологий только прогрессирует. Мне показалась забавной идея реализовать игру «крокодил», где нужно объяснять слова через пантомиму, с использованием технологии NFC. При считывании метки выбирает случайное слово из памяти и отдает его телефону. Игрок видит слово на своем телефоне и начинает его показывать. К сожалению, существующие и легкодоступные NFC-метки не умеют существенно изменять содержимое без команды перезаписи.
Недавно коллеги из Selectel одолжили мне Flipper Zero, который может прикидываться NFC-меткой с любым содержимым. В интернете множество материалов о Flipper Zero. Обзор, еще один обзор, инструкция, как настроить IDE для разработки приложений, обзор внутренностей, быстрый старт и первое приложение…
В этой статье я расскажу про подход к организации GUI-приложений на Flipper Zero, про работу с NFC и NDEF, а также о том, как не бояться отсутствия документации в активно развивающемся проекте.
Читать полностью »
Малоизвестные возможности языка C
2023-06-28 в 13:46, admin, рубрики: C, возможности C, Программирование, программирование на c, экспертная системаЕсли у вас несколько лет опыта программирования на языке C, то, вероятно, вы гораздо более уверены в своих знаниях этого языка, чем если бы вы провели столько же времени, работая с C++ или Java.
И язык C, и его стандартная библиотека довольно близки к к минимально возможному размеру.
Текущая наиболее часто используемая версия языка, c99, принесла много новых возможностей, многие из которых совершенно неизвестны большинству программистов на C (в более старых спецификациях, очевидно, тоже есть свои темные уголки).
Вот те, о которых я знаю:
Sizeof может иметь побочные эффекты
int main(void) {
return sizeof(int[printf("ooopsn")]);
}
Читать полностью »
Подводные камни С++. Решаем загадки неопределённого поведения, ч. 1
2023-06-28 в 9:58, admin, рубрики: C, c++, compiler, UB, undefined, Unspecified, Блог компании МойОфис, Компиляторы, мойофис, С++, Софт
Изучение и понимание неопределённого поведения — важный шаг для разработчика C++, поскольку undefined behavior бывает источником серьёзных ошибок и проблем в программах. UB может проявляться в разных аспектах языка, включая операции с памятью, многопоточность, арифметические вычисления, работу с указателями и так далее.
APRS. AFSK модулятор из Flipper Zero
2023-06-18 в 16:51, admin, рубрики: APRS, arduino, C, flipperzero, Разработка под Arduino, Разработка систем связи, Электроника для начинающихЕсть такой интересный протокол передачи данных - APRS. Про него в интернете уже много рассказывалось, здесь не будет углубленного теоретического материала. В этой статье будет описано как создать свой собственный «карманный» модулятор AFSK. В последующих статьях будут инструкции по выходу в эфир и по созданию простого демодулятора, который позволит принять пакеты APRS и отобразить информацию на дисплее прямо на улице. Всё будет реализовано для Flipper Zero. Если у Вас еще нет этого гаджета, то не расстраивайтесь и попробуйте всё на великой и ужасной Arduino. Передавать информацию на расстояние «своими руками» очень интересно.
Читать полностью »
60 антипаттернов для С++ программиста, часть 4 (совет 16 — 20)
2023-06-12 в 10:22, admin, рубрики: C, c++, code review, qa, Блог компании PVS-Studio, вредные советы, качество кода, книга, код, обзор кода, Программирование, программисты, программисты шутят, Совершенный код, юморПеред вами обновлённая коллекция вредных советов для C++ программистов, которая превратилась в целую электронную книгу. Всего их 60, и каждый сопровождается пояснением, почему на самом деле ему не стоит следовать. Всё будет одновременно и в шутку, и серьёзно. Как бы глупо ни смотрелся вредный совет, он не выдуман, а подсмотрен в реальном мире программирования.
Передача указателя на набор полей примитивных типов, расположенных в определённом порядке, - широко используемый паттерн. Так передаются указатели на структуры и объекты, массивы, файловые и сетевые буферы, данные в общей памяти и специальные типы (к примеру, массивы виртуальных функций), а отладчик, получив указатель на стек, может просматривать значения содержащихся в нём переменных.
SectorC: компилятор Си в пределах 512 байт
2023-06-09 в 13:00, admin, рубрики: C, forth, ruvds_перевод, sectorc, x86, Блог компании RUVDS.com, компилятор си, Программирование, токенизация кода
SectorC (github) – это компилятор Си, написанный на ассемблере x86-16 и умещающийся в загрузочный сектор 512 байт машины x86. Он поддерживает достаточное обширный функционал Си для создания реальных и интересных программ, являясь при этом, пожалуй, самым миниатюрным компилятором Си из когда-либо написанных.Читать полностью »
Вызываем демонов с printf
2023-06-05 в 3:55, admin, рубрики: C, printf, информационная безопасность, реверс-инжиниринг, реверс-инжиниринг для новичковОдин из источников настоящего открытия - это способность сомневаться в очевидных вещах
Предисловие
Начинающие реверс-инженеры часто сталкиваются с многочисленными препятствиями. Эта статья описывает определённый метод, который, как полагает автор, может вызвать замешательство у тех, кто только начинает изучать область анализа приложений. Стоит подчеркнуть, что цель данного материала не в представлении инновационного подхода или оказании значительной практической пользы, а в рассмотрении показательного случая.
EditedЧитать полностью »