Вече два дена се боря с този проблем и или нещо не разбирам, или не правя нещо както трябва. Закачил съм на един от пиновете на един от портовете бутон към маса (става въпрос за AVR, естествено). Искам да ползвам вътрешния пулъп на този пин. Според схемата, този резистор е вързан през транзистор, т.е. когато транзистора е отпушен би трябвало да имам лог. 1 при четене на PINx регистъра. Според документацията, транзистора се отпушва, когато пинът е конфигуриран като вход (съответния бит в DDRx е 0) и запишеш лог. 1 в PORTx. Допълнително, в SFIOR трябва PUD бита да е 0. Май е 0 по подразбиране, но аз за всеки случай си го свалям сам. И като го направя всичко това, чета някви случайни неща от PINx и натискането на бутона няма ефект.
Според документацията, всеки пин на всеки порт има пулъп, който е от 20 до 50k. Значи или нещо пропускам, или функцията на тоя резистор е изцяло друга.
