Свежие обсуждения
Микроконтроллеры

ATtiny45 настройка PB3

1 4

Что-то, как говорится, либо лыжи не едут, либо...
В общем, не удаётся настроить PB3 в ATtiny45 на вход.
На выход работает нормально, как переключаю на вход, сразу откуда-то берётся 1.75V, соответственно, при опросе, воспринимается, как постоянный "0".
Вроде уж все альтернативные модули принудительно отключил. Ничего не меняется.
При этом, на симуляторе - всё в порядке.
Клок - PLL, но пробовал и внутренний RC.

 

Покажите свои настройки.

 

Какие именно?
Фьюзы?

 

Покажите, как вы настраиваете ногу РВ3.

 

А какой источник тактовой ?
Какое значение фьюзов CKSEL ?
На картинке полностью не видно.

 

GM: Покажите, как вы настраиваете ногу РВ3.

     in     AKUMPR,PORTIN     ; Порт IN
     ori    AKUMPR,(1 << MIN)     ; ON Pull-Up
     out    PORTIN,AKUMPR
     in     AKUMPR,DDRINM
     andi    AKUMPR,~(1 << MIN)     ; настройка портов на вход
     out    DDRINM,AKUMPR
Что-то не удаётся изобразить знак "сдвига влево"...

Tadas: На картинке полностью не видно.

Я, конечно, извиняюсь, но какую картинку Вы смотрели?
Кроме того, если посмотреть первый пост:
Gregory: Клок - PLL, но пробовал и внутренний RC.

 

Дмитрий, как вы ухитряетесь что-то дать, ничего не давая . Что такое PORTIN?
Для подключения pull-up резистора, надо записать 1 в 3-й бит PORTB и настроить на ввод:
sbi PORTB,3
cbi DDRB,3

 

GM: Что такое PORTIN?

.def     AKUMPR = R17
.equ     PORTIN = PORTB     ; Выходной регистр порта IN
.equ     PININM = PINB     ; Входной регистр порта IN
.equ     DDRINM = DDRB     ; Регистр управления портом IN
.equ     MIN = PB3     ; IN

Так лучше? Улыбайтесь чаще! Это всех раздражает.

Только, мне кажется: "Неверной дорогой идёте, товарищи!"
"Неправильные фьюзы", и "настройки портов" тут, видимо, не канают. Улыбайтесь чаще! Это всех раздражает.
Скорее всего, либо какие-то настройки периферийных модулей, либо неисправный чип.
Второе очень маловероятно, поскольку чипов два, купленных в разное время, в разных местах, и в разных корпусах.
P.S.: Посмотрел Ерраты. Тоже ничего похожего не нашёл...

 

Ну, положим, это вы неверной дорогой идёте. Лично у меня всё настраивается, как доктор прописал.

И дайте все исходные данные, что из вас информацию клещами приходится тащить.
Что значит "на выход работает нормально, как переключаю на вход, сразу откуда-то берётся 1.75V.."?
Ну раз вы подключили к ноге внутренний резистор, то напряжение и должно появиться. Какое конкретно,
зависит от схемы подключения, какой получился делитель. Приведите схему, в конце концов.

 

GM: дайте все исходные данные

Так какие исходные данные ещё нужны? Всё, что касается установки данного порта я уже привёл.

Вот схема:

GM: Ну раз вы подключили к ноге внутренний резистор, то напряжение и должно появиться

Оно должно быть равно напряжению питания (поскольку входное сопротивление измерительного прибора велико). И с отключённой поддяжкой результат тот же.

GM: Лично у меня всё настраивается, как доктор прописал

Давайте сверимся по пунктам:
Фьюзы такие же?
Используете байтовые, или битовые операции?
Остальные настройки "по умолчанию"?