Как было сказано в предыдущей статье, UART не является формализованным стандартом и, следовательно, при его использовании имеет смысл опираться на практику реализаций данного протокола в различных микросхемах. В данной статье будут рассмотрены микросхемы мостов USB‑UART различных производителей как с точки зрения особенностей поддержки протокола, так и с точки зрения временных/электрических характеристик, а также иных, в том числе не‑электронных соображений.
Пользователь
Раскладываю Swift Runtime на детали
В детстве у меня было два игрушечных пистолетика, и в какой-то момент один из них сломался. Тогда я разобрал второй, чтобы посмотреть, как он работает и починить первый. В итоге у стало два сломанных пистолетика. Но я получил и некоторые знания, и, что важнее, удовлетворил своё любопытство и тягу к знаниям.
Нам в IT, чтобы понять как что-то работает не нужно ничего ломать — мы будем разбираться на пальцах — погрузимся в теорию. Не спешите закрывать статью — практическая польза в теории тоже есть. Например, как-то ребята из соседней команды не могли разобраться с пребилдом, который они настраивали своем проекте. Не знаю, сколько бы они мучились с этой задачей, но, думаю, сэкономил прилично времени тем, что дал подсказку на основе тех знаний, что приобрел в процессе изучения.
Привет, меня зовут Александр Пахомов, я работаю в Альфа-Банке на проекте для юридических лиц Альфа Бизнес Мобайл. В статье расскажу про Runtime:
— покопаемся в исходниках: узнаем на каком языке написан и что делает;
— напишем простой код, скомпилируем и посмотрим как он выглядит на уровне SIL и IR;
— добавлю в мой исходный код функцию swift_release
и посмотрю результат;
— узнаю, что будет, если не учесть ‘name mangling’
;
— и покажу ненастоящую функцию.
Сам себе игровая консоль: как я сделал свой «тетрис» с нуля. Что происходит, когда программист встречается с железом?
Я, как и многие мои читатели, очень люблю игры. Уже довольно обширное число моих статей было посвящено ремонту и моддингу самых разных игровых консолей — как китайских «нонеймов», так и брендовых PSP и PS Vita! Однако, меня тянет к железу не только желание отремонтировать и поставить в строй «устаревшие» девайсы, но и мания делать и созидать что-то своё! А ещё я очень люблю программировать игры и графику сам. Недавно я загорелся идеей разработать с нуля свой портативный «тетрис»: от схемы и разводки платы, до написания прошивки и игр под нее. Что получается, когда программист, который поставил электронику практически во главе своей жизни, пытается сделать свое устройство? Читайте в статье!
Эйлер, Чёрч и Мандельброт — этюд о красоте и математике
Довольно часто на просторах интернета можно встретить выражение "Красота - в глазах смотрящего". Действительно ли красота субъективна, или все же в ней есть нечто объективное и общее для всех? Возможно ли, что абсолютно не похожие на нас инопланетные существа с другого конца Вселенной, с которыми нам даже не суждено ни разу встретиться за все время существования наших цивилизаций, видят красоту в том же, в чем видим её и мы?
В начале 90-х годов XX века немецкий информатик Юрген Шмидхубер представил невероятно красивую и математически строгую теорию математической красоты. Согласно этой теории людям кажутся красивыми сложные объекты, обладающие наименьшей алгоритмической сложностью. Эта величина, также известная как колмогоровская сложность, названа в честь впервые описавшего её советского математика Андрея Колмогорова.
Hello World на Tang Primer 20K под Linux
Опытом настройки я с вами хотел бы поделиться в этой статье. Всех интересующихся — я по традиции приглашаю под кат!
USB на регистрах: составные устройства
Еще более низкий уровень (avr-vusb)
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: bulk endpoint на примере Mass Storage
USB на регистрах: interrupt endpoint на примере HID
USB на регистрах: isochronous endpoint на примере Audio device
Вот мы познакомились со всеми базовыми типами конечных точек, пришло время разработать какое-нибудь полезное устройство. Для примера пусть это будет программатор-отладчик STM-ок, работающий через стандартный UART bootloader.
Первые шаги в импульсных нейронных сетях
Давайте попробуем немного разобраться в теме импульсных нейронных сетей (spiking neural network, SNN). Напишем простую импульсную нейронную сеть, используя только NumPy и Pandas, для классической задачи машинного обучения с использованием кодирования рецептивными полями.
Генерация Пещер
Генерация пещер. Генерация на языке программирования С++, на основе клеточных автоматов с регулируемыми настройками.
Audio over Bluetooth: most detailed information about profiles, codecs, and devices
This article is also available in Russian / Эта статья также доступна на русском языке
The mass market of smartphones without the 3.5 mm audio jack changed headphones industry, wireless Bluetooth headphones have become the main way to listen to music and communicate in headset mode for many users.
Bluetooth device manufacturers rarely disclose detailed product specifications, and Bluetooth audio articles on the Internet are contradictory and sometimes incorrect. They do not tell about all the features, and often publish the same false information.
Let's try to understand the protocol, the capabilities of Bluetooth stacks, headphones and speakers, Bluetooth codecs for music and speech, find out what affects the quality of the transmitted audio and the delay, learn how to capture and decode information about supported codecs and other device features.
TL;DR:
- SBC codec is OK
- Headphones have their own per-codec equalizer and post processing configuration
- aptX is not as good as the advertisements say
- LDAC is a marketing fluff
- Voice audio quality is still low
- Browsers are able to execute audio encoders compiled to WebAssembly from C using emscripten, and they won't even lag.
Linux на esp32s3
Вопрос о том, можно ли загрузить линукс на микроконтроллерах Espressif я
впервые услышал в 2015, в период бума esp8266. Тогда мой ответ на него
был: "нет, не это ядро и не на этом железе". Но прошло 8 лет и ответ
изменился на "да, и у меня есть рабочий пример". Дальше рассказ о том,
как это произошло.
Andrej Karpathy: глубокие нейросети 33 года назад и 33 года спустя
На мой взгляд, статья Янна Лекуна с соавторами Backpropagation Applied to Handwritten Zip Code Recognition (1989 год) имеет определённую историческую ценность, поскольку, насколько мне известно, это первое реальное применение нейронной сети, от начала до конца обученной при помощи обратного распространения (backpropagation). Если не учитывать крошечный датасет (7291 изображений цифр в градациях серого размером 16x16) и крошечный размер использованной нейронной сети (всего тысяча нейронов), эта статья спустя 33 года ощущается вполне современной — в ней описана структура датасета, архитектура нейронной сети, функция потерь, оптимизация и приведены отчёты об величинах экспериментальных ошибок классификации для обучающего и тестового датасетов. Всё это очень узнаваемо и воспринимается как современная статья о глубоком обучении, только написанная 33 года назад. Я решил воспроизвести эту статью 1) для развлечения, а ещё 2) чтобы использовать это упражнение как исследование природы прогресса глубокого обучения.
Пишем телеграм-бота на Rust, предварительно спаяв сетевую карту
Что делать, если ваш микроконтроллер не умеет работать с сетью, а бота для телеграма написать хочется? Конечно же, сделать свой сетевой адаптер на логических микросхемах!
Простая процедурная генерация мира, или Шумы Перлина на Python
Недавно я выпустил статью, в которой рассказал о библиотеке Ursina Engine и показал, как создать свою трехмерную игру на Python. Между разделами вскользь упомянул про шум Перлина. Это один из базовых алгоритмов процедурной генерации, который можно использовать для создания красивых игровых миров. Хочу рассказать о нем подробнее и показать, как работать с модулем perlin-noise.
Если вам интересно, как просто генерировать реалистичные трехмерные ландшафты на Python, добро пожаловать под кат!
Управление параметрами FPV видеопередатчиков по протоколам IRC Tramp и TBS SmartAudio
Управление параметрами FPV видеопередатчиков по протоколам IRC Tramp и TBS SmartAudio
Воссоздание существующего фрагмента улицы в 3D
Мне нужен был проект-визитка. Такой, чтоб в полной мере показал мои навыки как 3д художника. И я выбрал воссоздать фрагмент старейшей улицы Бремена полностью своими силами.
Меня зовут Максим и сейчас я опишу, как это сделал.
Для начала я нашел старый план города и обрисовал нужную мне часть в векторе.
Очередной драйвер SPI флэшек… Но уже с кэшем и «нормальным» api
Прочитал на хабре кучу простых, и даже очень, статеек на тему программирования микроконтроллеров, тоже решил добавить что-то простое, понятное, но чуть более полезное.
Будем пытаться писать быстрый драйвер флешки и при этом попробуем сэкономить её ресурс при перезаписях.
MIDI chiptune + detune
Добавляем функциональность к музыкальному MIDI-синтезатору на двух чипах AY-3-8910, а также вспоминаем, что общего между музыкой и математикой.
Ретро-компьютер уровня «Радио-86РК» с RISC-V процессором на плате OMDAZZ
Статья про то, как из недорогой отладочной платы OMDAZZ c ПЛИС CycloneIV EP4CE6 получить ретро-компьютер с монитором, клавиатурой и тетрисом, но с современным процессором на базе RSIC-V и компилятором GCC.
«Midjourney на коленке». Как развернуть нейросеть в облаке за 5 минут, или начало работы с Diffusers
Построить свою конвейерную ленту по разработке нейронок не так сложно. Нужен «всего лишь» сервер с GPU и настроенное окружение с библиотекой Diffusers. Если вам интересно, что это такое, как создать свою «Midjourney на коленке» и генерировать вайф в режиме 24/7, добро пожаловать под кат!
Информация
- В рейтинге
- 2 586-й
- Дата рождения
- Зарегистрирован
- Активность