Wo ist der Stackpointer des Tiny12?!

Persönliche Seite #798480
Lesenswert?

Bisher habe aus der AVR-Serie nur Mega32 und Mega8 programmiert. Jetzt 
muss ich ein Programm von einem Mega8 auf einen Tiny12 portieren. Wie 
initialisiere ich beim Tiny12 den Stackpointer? In der tn12def.inc habe 
ich keine Definitionen gefunden, die auf einen Stackpointer hinweisen 
und eine Konstante RAMEND gibt es auch nicht.
Gast #798488
Lesenswert?

Da er keinen RAM hat gibt es keinen Stackpointer und auch kein RAMEND. 
Dafür gibt es einen 3 Level Hardware-Stack. Schau doch mal in die 
Anleitung. Dort steht auch "Not recommended for new designs".
Persönliche Seite #798737
Lesenswert?

Jetzt jänge ich an einem anderen Problem.

Die Pins PB1 und PB2 brauche ich als Eingänge und PB3, PB4 als Ausgänge. 
Die Ausgänge funktionieren gut, aber bei den Eingägnen klappts nicht. 
Das Programm läuft im Simulator einwandfrei. Ich habe nun ein kleines 
Testprogramm ausprobiert, dass die Ausgänge auf 1 setzt, sobald an PB1 
+5V anliegen, aber auch das funktioniert nicht.

Die Suche im Datenblatt hat mich nur noch mehr stutzig gemacht. PB0, PB1 
und PB2 werden für die ISP benötigt. Aber diese Funktion nehmen die doch 
nur an, wenn Reset auf 0 liegt, oder? Also sollten die Pins im 
Normalbetrieb als IO-Pins funktionieren?

Der Tiny12 wird vom internen OC getaktet. Ich habe die Frequenz mit 
einem Oszi und einer Testroutine abgelesen, liegt bei etwa 1,2 MHz.

Was ist nur mit den Pins los?
Persönliche Seite #798759
Lesenswert?

Aus dem Datenblatt:
"Port B as General Digital I/O

The lowermost five pins in port B have equal functionality when used as 
digital I/O pins.

PBn, General I/O pin: The DDBn bit in the DDRB register selects the 
direction of this pin, if DDBn is set (one), PBn is configured as an 
output pin. If DDBn is cleared (zero), PBn is configured as an input 
pin. If PORTBn is set (one) when the pin is configured as an input pin, 
the MOS pull-up resistor is activated. On ATtiny12 this feature can be 
disabled by setting the Pull-up Disable (PUD) bit in the MCUCR register. 
To switch the pullup resistor off, the PORTBn can be cleared (zero), the 
pin can be configured as an output pin, or in ATtiny12, the PUD bit can 
be set. The port pins are tri-stated when a reset condition becomes 
active, even if the clock is not running."

Verstehe ich nicht ganz. Was ist MOS?

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