Александр Семенов @shiru8bit
Узкий специалист широкого профиля
Information
- Rating
- 29-th
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Game Developer, Application Developer
Senior
From 9,000 $
Узкий специалист широкого профиля
Мне только вторая как понравилась почти четверть века назад, так и нравится. Третья и далее совсем не зашли.
И далее стена текста размером с экран без разбивки на абзацы. Спору нет, может выглядеть. А может и не выглядеть.
Так сейчас любая адекватная обычная машина стоит 2+, а все электромобили 3+.
В те времена, когда это всё появилось, электроники ещё не было. Когда появилась электроника и часы с цифровыми табло, синхронизация появилась, без обратной связи, просто кодирование текущего часа.
Суть систем часофикации в том, что вторичных часов много, первичные часы одни, между ними только сеть из двух проводов, и всё это придумано и реализовано в доисторические времена. Если приделывать какие-то датчики, это уже не подключение вторичных часов, а изобретение совершенно иной, штучной системы.
Прямо сейчас идёт разработка порта Dangerous Dave на отечественный компьютер БК-0010М, оснащённый какой-то дополнительной картой расширения, улучшающей графику. То есть результат визуально будет почти один-в-один. Делает проект тот же автор, что сделал недавние крутые порты Принца Персии и The Goonies на ту же 11-ую БК-шку, но без расширений. За этим проектом интересно следить, так как это не просто перенос готового кода, автор изучает логику оригинальной игры и воспроизводит в своём коде на ассемблере для PDP-11.
Меня несколько удивило количество комментариев про непонятность таймера и недоверие к его работе. Таймер на AVR - достаточно простая и понятная, хорошо задокументированная вещь. Почему он всех так пугает? Это же не какая-то хитроумная многозадачная система, где много факторов, которые нужно учитывать. На той же ESP подобное, локальный счёт без RTC, местными системными таймерами не провернуть (зато можно приспособить в качестве источника времени i2s). Вот там действительно непонятно, что внутри чёрного ящика и как они на самом деле считают - но и их хватает для стабильного цифрового звука, например. В RTC модулях, к слову, тоже нет никакой магии, там тоже кварц, таймер, заводские подстройки под конкретный кристалл, плюс температурная коррекция.
NTP в этот раз меня делать просто не просили. Но если буду писать продолжение про цифровые часы, вероятно именно так и сделаю: ESP, RTC-модуль, синхронизация с NTP, все дела. Посмотрим, как мне скажут, что так делать тупо и даже ежу понятно, что нужно было делать иначе (широкий смайл).
Процитирую классика: не говорите, что мне нужно делать, и я не буду говорить, куда вам нужно идти. Вот этому действительно стоит поучиться.
Попробуйте не читать комментарии, по умолчанию являющиеся личным мнением их автора, могущим не совпадать с мнением редакции, как заявление за всех.
А весь мой личный опыт говорит именно об этом. Что будем делать?
Парадокс в том, что когда горишь своим делом, не выгораешь, а когда не горишь - таки да.
В системе есть электромеханический элемент древнего года выпуска и не с консервационного хранения. Достоверно известно, что он подвержен нестабильной работе при излишнем занижении напряжения. При около-номинальном напряжении на глазок вроде работает стабильно, но кто его знает, не пропускает ли оно за сутки несколько шагов.
Я не знаю, сколько тёмноамериканских руководителей в Microsoft, но допустим, если один-два, то обещание удвоить количество выглядит легко выполнимым.
Задача типовая, поэтому такие схемы уже давно придуманы и реализованы в готовых библиотеках. Например, в EEPROMWearLevel, доступна в менеджере библиотек в Arduino IDE.
Если рассчитывать на питание от солнечных панелей, то конечно да, надо экономить на всём, и отключение преобразователя даст основную экономию. Для моей же задачи такое питание не предполагалось и необходимости в транзисторе не было. Между переводами стрелки всё это хозяйство потребляет около 30 мА.
Интересная идея! Но похоже, что в моём варианте с DC-DC преобразователем для получения 28 вольт нужен не такой уж мизерный ток для передвижения стрелок, что-то около 100 мА в пике. По грубой прикидке мне бы понадобился аккумулятор ёмкостью около 5000-6000 мАч, и как-то успевать дозаряжать его наполовину за сутки. Можно конечно набрать большую батарею 18650 на 36 вольт, заряжать без лишних преобразователей, питать H-мост напрямую от батареи, а для МК понижать тоже DC-DC. Надо считать, и всё равно, наверное понадобится не такая уж маленькая солнечная панель.
Какое-то время назад я вдруг столкнулся с тем, что все вокруг начали бездумно повторять это утверждение. Вроде бы это было связано с какой-то презентацией нового gcc, или типа того. Но это же вовсе не так для любых случаев. Если у вас есть компилятор C образца 1989 года и ассемблер - вы совершенно точно понимаете процессор гораздо лучше, чем этот компилятор и напишете в разы более оптимальный код. Да и в специфических случаях даже с современными компиляторами всё не так однозначно, так как компилятор не понимает алгоритм и не видит, где можно срезать углы или пренебречь точностью.
Зависит от задачи. 30% ускорение на сжатие архива, 3D-рендер или кодирование видео - это 46 минут ожидания вместо часа.
Процитирую код:
//в основном цикле ничего не происходит, весь код в обработчике прерывания
Про какой джиттер входа прерывания идёт речь в случае с полностью целочисленными делителями, фиксированным временем выполнения основного цикла, и единственным таймером?
Что за реакция на счётчик в main?
Все эти игры с каскадированием счётчиков AVR — не для начинающих пользователей Arduino, и статью писать про это бессмысленно. Кто знает, тот знает, кто не знает, тому рано. К тому же, платформа Arduino — это давно уже далеко не только AVR. Для других плат достаточно заменить установку таймера и сохранить логику. Непортируемо, но хотя бы легко адаптируемо.
Собственнно основной поинт моего варианта статьи для начинающих самодельщиков в понимании, что нормальной точности не будет.