Цитата(SasaVitebsk @ Aug 10 2007, 19:39)

Так кто же из нас фанат?
Похоже, имеет место программирование, но совсем не на АВР

.
Чем же фанатик отличается от свободомыслящего Хомо Сапиенс? Так как мы в ветке АВР, то можно абстрактно представить, что группа программистов написала жутко универсальную программу для анализа и обработки неких входных данных, имеющих широкий спектр протоколов, поступающих, скажем по USART. В железо заложили, скажем АТМегу2560 и заполнили 220к из 256 возможных. Обработчик построили в виде множества функций, рассчитанных каждая на свой тип протокола, вызываемых при помощи таблицы переходов. Индекс в таблице переходов вычисляет анализатор, который при помощи наложения масок обрабатывает часть входных данных. Так вот, чтобы получить "фанатично настроенный" процессор, необходимо перезаписать таблицу переходов, заполнив ее указателем на одну-единственную функцию, либо в анализаторе свести все маски к одной. Естественно, при таком раскладе львиная доля входных данных будет восприниматься совершенно неадекватно. И большая часть заложенного кода окажется бесполезной.
Это все к тому, что определенная часть поклонников АВР почему то при анализе входных данных использует одну и ту же маску: "AVR - the best", а в таблице переходов активным остается один вектор, обрабатывающий сигнал "На нас напали". Очевидно в итоге всего этого неадекватного восприятия начинают приводится куски кода, якобы представляющие верх элеганости, хотя на самом деле это тривиальная до зубной боли задача "переслать два байта", на С она бы заняла ни много ни мало, а целую строчку в тесте, а компилятор выдал бы код не хуже. (Может это есть тонкий прикол на тему "как два байта переслать"?)
Пытаясь достучатся до адекватного восприятия, повторюсь - "АВР признали" - это удивительно не потому, что ядро АВР плохое, а потому, что у фирмы Атмел маркетинг бежит впереди качества, в результате чего годика так этак 2-3, до появления Мега8, они выпускали МК, несовместимые с устойчивой продолжительной работой. И не признавали этого ну никак. И глюки железячные у АВР такие, каких нигде нет. И внедрение маркетинга в техдокументацию вызывает дополнительную путаницу.
Цитата(bodja74 @ Aug 9 2007, 11:19)
2 С периферией для начала нужно научиться работать а потом хаять ,TWI выдаст ошибку в регистре статуса если что не так ,я уже не говорю про ситуации с NACK ,и правильно делает что затыкаеться,нечего инфу тупо гнать.
Совет умный про анализ результата. Но анализировать можно сколько угодно. но если модуль аппаратно зависает, то результат анализа можно засунуть в одно место. Много помогает анализ кода ошибки синего экрана смерти в Виндоуз? NACK - нормальный сигнал на шине, он не должен приводить к зависанию модуля.