Wo ist der Stackpointer des Tiny12?!

OP 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".
OP 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?
OP 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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.