Powerdown und Atiny2313

(Firma: Manfred) #2536494
Lesenswert?

Hallo, ich möchte gerade das Pollin-Spiel adaptieren, leider 
funktioniert der Powerdown-Modus des Atiny2313 nicht richtig.

Wer hat eine Idee? (Ich hab momentan keine mehr...)
1
$framesize = 40
2
$swstack = 10
3
$hwstack = 30
4
$regfile = "ATtiny2313.dat"
5
$crystal = 1000000
6

7
Dim Xon As Byte
8
T1 Alias Portd.0
9
Ddrd = 1
10
Stop Ac
11
Stop Watchdog
12

13

14
On Int0 Int0_isr
15

16
Enable Int0
17
Config Int0 = Rising
18
Enable Interrupts
19
Do
20
 If Xon > 0 Then
21
    Set T1
22
    Decr Xon
23
 Else
24
    Reset T1
25
    'Power Powerdown
26
 End If
27
Loop
28
End
29

30
Int0_isr:
31
Xon = 255
32
Return

Wenn ich Power Powerdown auskommentiert lasse, reagiert das Programm wie 
gewünscht: beim Klicken blitzt kurz die Lampe T1 (meist 2x).

Wenn ich Power Powerdown einfüge, geht gar nichts mehr -das verstehe ich 
nicht: der INT liegt im Pollin-Stil mit 10k an Masse und wird gegen Plus 
mit einem Taster geschaltet.

Wo liegt mein Fehler? Laut Datenblatt soll der Atiny selbst im Powerdown 
Modus noch auf ändernde Flanken reagieren...
(Firma: Manfred) #2536526
Lesenswert?

Super, danke für die rasche Antwort - da sieht man, wie "verrückt" 
Pollin die Hard-, Software entwickelt. An den alternativen PCINT 
(PB0-PB7) hängt leider kein Taster, der hängt nur auf PD2 (INT0) gegen 
Plus(!).

Hab nachgesehen: im Original Source von Pollin in C wird lediglich der 
Idle-Modus realisiert. Wenn ich jetzt in Bascom auf Power Idle ändere, 
geht es- ist aber nicht so stromsparend.

Wann lernt Pollin, dass Taster auf Ground zu schalten sind und dass es 
interne Pullups gibt??

Übrigens: wo steht das im Datenblatt das nur low level-int geht?
#2536562
Lesenswert?

Manfred S. schrieb:

> Übrigens: wo steht das im Datenblatt das nur low level-int geht?

Seite 31, Abschnitt "Standby Mode", Tabelle 14, Fußnote 2:"For INT0, 
only level interrupt."

Daß es diesen Level-Interrupt nur als Low-Variante gibt, findet sich auf 
Seite 59 im Abschnitt "External Interrupts", zweiter Absatz. Dort wird 
auch erklärt, warum Flankentriggerung nicht geht.

Die Seitenangaben beziehen sich auf Rev. 2543L - 8/10.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren