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

ATtiny45 настройка PB3

1 2 4


No comment.

 

Gregory: И с отключённой подтяжкой результат тот же

Ну тогда содержимое MCUCR покажите.

Кстати, какое у вас напряжение питания? Опять клещами тянуть ?

 

GM
Ну тогда содержимое MCUCR покажите.
     in    AKUMPR,MCUCR
     andi    AKUMPR,~(1<<PUD)
     out    MCUCR,AKUMPR

GM
Кстати, какое у вас напряжение питания?
+5V

viczai
No comment
Это к чему?

 

Продолжу монолог.

Получается следующее:
Помимо Reset'а надо ещё отключить и последовательное программирование.
А ещё, почему-то после этой последовательности:
     andi   AKUMIN,0b00010000
     in     TMPIR0,DDROUT
     eor    AKUMIN,TMPIR0
     out    DDROUT,AKUMIN
порт PB3 (возможно и другие) перестраивается на выход.
А после такой доработки всё заработало:
     andi   AKUMIN,0b00010000
     in     TMPIR0,DDROUT
     andi   TMPIR0,0b00010000
     eor    AKUMIN,TMPIR0
     out    DDROUT,AKUMIN

Или я так отупел, и не вижу очевидного?

 

Gregory: Или я так отупел, и не вижу очевидного?

Отупел

 

THEDOGG:Отупел
Аргументируйте.

 

andi   AKUMIN,0b00010000
in     TMPIR0,DDROUT
eor    AKUMIN,TMPIR0
out    DDROUT,AKUMIN

andi AKUMIN,0b00010000
in TMPIR0,DDROUT
andi TMPIR0,0b00010000
eor AKUMIN,TMPIR0
out DDROUT,AKUMIN
-----------------------------------------------------------------------
andi TMPIR0,0b00010000

 

THEDOGG: andi TMPIR0,0b00010000
Вот и объясните, почему без этого "0" превращается в "1"?

 

На словах не объяснишь ...

 

THEDOGG: На словах не объяснишь
А Вы попробуйте.
Например:
1. Корректируем бит 3 (и другие, разумеется) в регистре AKUMIN в "0"
2. Копируем порт DDROUT в регистр TMPIR0. Бит 3 был настроен в "0"
3. Производим побитное XOR регистров TMPIR0 и AKUMIN (с сохранением в AKUMIN). "0"+"0"="0"
4. Копируем регистр AKUMIN в порт DDROUT. "0" почему-то становится "1"