Pull to refresh

Comments 20

Это читерство ;). Фьюз биты — тоже биты и влияют на функционирование контроллера. Это как если бы вы вызвали готовую подпрограмму мигания светодиодом из ПЗУ одной строчкой, вместо нескольких в основном коде.
Так же можно и сказать про предыдущий «рекорд», что вызывать спец.функцию для смены состояния порта это читерство. Если есть возможность, то почему ей не воспользоваться?
автор молодец, я лично не вижу чтобы какие то исходные условия были нарушены.
С вами автор первой статьи. Я рад, что сподвиг коллег на соревнование такого масштаба, что аукается уже второй год как.

Hello World — это программа, реализующая максимально наглядный «первый раз» в данной среде обитания программиста.

Для восприятия вашего приветствия потребуется осциллограф, либо динамик + здоровый слух (не все слышат 16 кГц).

Более того, тут требуется программировать FUSE, а это чревато окирпичиванием контроллера. Я бы на «первый раз» проделывать такое постеснялся.

Тем не менее, я дополню свой старый пост вашим решением. Спасибо!
Это вам спасибо! Я не стал искать первоисточник этой гонки, поставил ссылку лишь на запомнившийся мне.
Более того, тут требуется программировать FUSE, а это чревато окирпичиванием контроллера. Я бы на «первый раз» проделывать такое постеснялся.

Как, блин, КАК его сейчас можно случайно окирпичить? Я понимаю еще во времена программатора громова и всяких ponyprog можно было запутаться в галочках. Но сейчас достаточно ввести в гугле Fuse calc, выбрать там нужные параметры из меню(даже русские переводы есть), а потом вставить строчку аргументов в avrdude. Чтобы при такой схеме окирпичить — надо тыкать во все пункты, не понимая что они означают.
А в бёрномате, откуда у меня скриншот, вообще стоит защита от дурака. Нельзя ни ресет отключить, ни SPI программирование. Но защиту можно выключить.
Можно настроить контроллер фьюзами на внешнее тактирование и подать несколько герц. Тогда мигание светодиода будет видно визуально.
Можно, но это уже будет не то.
А потом убрать из схемы микроконтроллер, а то чего он, повторяет только.
Вы по сути используете аппаратную фичу, а это уже не программирование. С тем же успехом, можно было снять частоту непосредственно с кварца и усилить транзистором. «Hello Word» должен быть криком новорожденного ребенка, а не стоном его мамочки.
Открою секрет, все команды используют те или иные аппаратные фичи.
такое моргание светодиодом можно и совсем без МК сделать, нужно только два элемента «НЕ».
Зачем 2? Можно и без логики вообще, кнопкой или зубами провода сжимать.
Ну, не с 16, можно с другой. Большая мембрана с катушкой в магнитном поле (да, микрофон) и светодиод на выводы катушки. Можно много чего ещё придумать, хоть вообще на солнечную панель нацепить и получить моргание с периодом в сутки. Разговор то не об этом.
16КГц? Без логики? Легко. Диск с ручкой для вращения, на нём нанесённые контактные площадки лучами в 0,01125 градуса. Крутим, моргаем.

Это если за 1 секунду оборачивать. А если делать несколько оборотов в секунду, то можно и меньше площадок поставить.
Нет, коллеги, я протестую. Я понимаю, что возможны вариации, но считаю, что микроконтроллерный «Hello, World!» это, в силу устоявшейся традиции,

а) мигание с частотой, заметной глазу — потому что самая простая программа имеет цель быть доступной для наглядной демонстрации с минимальными аппаратными средствами, без всяких осциллографов и прочего;

б) мигание, являющеется результатом выполнения программы процессором — потому что «Hello, World!» это исторически способ пояснить базовый синтаксис некоторого языка программирования.

Здесь мигание совсем не мигание, а выдача некоторого сигнала, требующая для анализа дополнительного оборудования. И кроме того, нет выполнения простой программы — непременного атрибута «Hello, World!». А так, я тоже в курсе про CKOUT (он же MCO на STM32, например), но применять его для таких целей я не считаю корректным.
Вторая статья закончилась 0 байтами и пищалкой, но эти эксперименты были уже после выхода статьи и включены как дополнение.
Приведенный скриншот занимает нифига не ноль байт. ИМХО с нулем байт можно и простой мультивибратор на двух транзисторах собрать. И оно так же мигать будет, только и частоту мигания регулировать будет можно. Но эти эксперименты такие захватывающие, что уже хочется отрицательных значений :-) типа программа мигнула диодом и сама дописала три байта в свой код :-)
Sign up to leave a comment.

Articles