fe.settings:getUserBoardSettings - non array given[rus] - Endchan Magrathea
 >>/21874/

А теперь про ФИЧУ тини13. Изначально я не хотел держать таймер (что для ШИМа юзается) включенным, пока отжата кнопка HEAT. Ну так и сделал, однако после пары нажатий заметил, что на ослике луч.. несколько не на земле. Кароч, драйвер пина подтягивает пин к VCC - какого хуя я не знаю, в ERRATA этого нет. Я пробовал пропускать операции, 4, 8, писал ассемблером пропуски, писал делеям - не работает. Видимо это что-то из разряда системных регистров, или просто баг уже хардвеерный. Однако я не пробовал обнулять TCCR0A/B регистры вместе (A регистр не менялся вообще), возможно оно связано, и, если сбросить A регистр - то пин переключится в "нормальное" состояние, выйдет из под монополии таймера кароч. Напрямую сбросить порт в нуль не выходит, даже если циклом. Мое решение - просто переключать пин на вход епт))0)))) PULL-UP отключен, следственно порт в Hi-Z висит, и вот чтобы не было шумов, что могут открыть силовой драйвер - висит резистор R6, стягивающий пин на землю, следственно подавляя шумы до не-критичных значений. Такой вот ебанизм.

Что еще смешнее - это работа с EEPROM. Скопипастил, буквально скопипастил из даташита примеры - не работают. Чтение вешает контроллер (сброс не настраивал, как и сохранение причин). Перечитал вдоль и поперек шит про EEPROM - ничего не изменилось в коде. Смешно, да, но функции из eeprom.h из либы avrlibc стандартной - работают. И ЕДИНСТВЕННОЕ БЛЯТЬ РАЗЛИЧИЕ в том, что в коде либовских функций есть eor операция (искл.ИЛИ двух регистров).... с одним и тем же регистром. Регистром из РОН, при том, что встречается он всего три раза в коде - в первый раз когда выделяется (и присваевается в нуль), после чего два упоминания в eor r25,r25; Серьезно:

000001d4 :
 1d4:	e1 99       	sbic	0x1c, 1	; 28
 1d6:	fe cf       	rjmp	.-4      	; 0x1d4 
 1d8:	8e bb       	out	0x1e, r24	; 30
 1da:	e0 9a       	sbi	0x1c, 0	; 28
 1dc:	99 27       	eor	r25, r25
 1de:	8d b3       	in	r24, 0x1d	; 29
 1e0:	08 95       	ret

Вот единственное отличие моего кода от либовского - отсутсвие операции как по 1dc адресу.

Вот что за магия Вуду, блять?
А вы говорите - только крестовики ебучие костыли пилят. А вот и не правда - даже в железе костыль на костыле. При чем непонятные костыли.


 Печатной платы нет и не будет, у меня все на макетке распаяно, я зажлобил фоторезист и пленку :P 
На этом все. Буду постить всякую хуйню, надеюсь, интересную.