Forum: Mikrocontroller und Digitale Elektronik ATtiny12 läuft nicht an und...


von Timo Wille (Gast)


Lesenswert?

grüße euch.
ich habe nun gegoogelt und sämtliche foren durchsucht, aber genau meine
frage wird nicht oder nur z.T. beantwortet.
habe schon einige avr-uC's programmiert, aber der attiny12 ist für
mich neuland.
und irgendwie stellt er sich bockig. er läuft nicht an.
habe ihn mit dem stk500 und avr-studio programmiert. das programming
klappt laut history-fenster, auch wenn er immer etwas von -attiny15
adapted- erzählt.

ich brauche nur drei ausgänge am portb, der rest ist egal.

ich denke mal, es liegt am internen takt, den ich nutzen will.
habe hier irgendwas von osc calibrierung via routine gehört (im
avr-studio ist aber ein osc-byte gesetzt bei 0x37 und 1,2Mhz)und es gab
hier auch irgendwo eine im anhang, die kriege ich aber nicht auf den
schirm.
kann mir jemand helfen ?

und gleich noch eine frage.
eigentlich wollte ich auch den interrupt am attiny12 nutzen, denn das
programm war vorher weit umfangreicher, aber kürzer, da ich auch mit
subroutinen gearbeitet hab. da der attiny12 aber dummer weise kein sram
hat, kann ich nun auch keinen stapel einrichten und somit kann ich die
rücksprungadressen nirgendwo ablegen lassen. aber wozu dann einen
interrupt-eingang ? brauche ich externen sram ? aber dann kann ich ja
gleich einen avr nehmen, der welchen integriert hat.
oder gibt es vielleicht noch einen weg, rücksprungadressen woanders zu
hinterlegen ?

fragen über fragen ... und ich dachte, ich hätte uC's endlich
verstanden (wenigstens in den grundzügen) ...

vielen dank im voraus !

timo

von dunkelmann (Gast)


Lesenswert?

Der Tiny 12 hat einen eingebauten mini-stack und braucht deswegen kein
SRAM für Rücksprungadressen.

Der Chip läuft auch, wenn man das OSCCAL-register nicht beschreibt.

Das mit dem 15-Adapted ist korrekt, und wichtig ist halt, dass man dann
in den fuses auch den internen Takt auswählt.
Eventuell noch die Versorgungsspannung kontrollieren, die kann im AVR
Studio verändert werden, und wenn die zu niedrig eingestellt ist, läuft
der Chip auch nicht an!

dkm
www.loetstelle.net

von Timo Wille (Gast)


Lesenswert?

vielen dank für die schnelle hilfe.

zum mini-stack:
ahhh... muss man gar nicht einrichten ... sehr gut.

zum int osc:
versorgungsspannung liegt bei 5,1V, laut datenblatt völlig ok.
fuse ist gesetzt, wie im werkszustand .. also auf:
cksel=0010 internal rc oscillator; default value

kalibriert ist er auf 1,2MHz. welche oszillator-frequenz beim BOARD
eigestellt ist, ist doch egal, oder?

von Timo Wille (Gast)


Lesenswert?

scheint egal zu sein, habs grad mal ausprobiert...
nix geht ..

von dunkelmann (Gast)


Lesenswert?

poste mal deinen quellcode, vielleicht kann man dann mehr sagen...

von Timo Wille (Gast)


Angehängte Dateien:

Lesenswert?

kann ich machen, aber der sollte funktionieren. zumindest tut es der
volle qullcode (mit interrupt und subroutinen) bei einem atmega16 ohne
probleme und die verkürzte variante ist narrensicher, jedenfalls wenn
man sich ein bisschen mit assembler auskennt.
naja, ich hängs mal an, aber es ist sehr "unsauber" programmiert, aus
faulheit. bitte drüber hinweg sehen...

von nachtdieb (Gast)


Lesenswert?

Hallo Timo,
hast du auch PB5 (RESET) auf VCC gelegt? Damit läuft es bei mir prima.

Gruß
Klaus

von Timo Wille (Gast)


Lesenswert?

hallo klaus.
naja, ich habe ihn als eingang im ddrb deklariert (und somit doch auch
mit einem int. pull-up versehen, oder ?)und auch auf dem stk500 den
reset von portE an pb5 angeschlossen, weil er sonst gar nicht
programmiert werden konnte via isp.
aber danke für den tip.

von Timo (Gast)


Angehängte Dateien:

Lesenswert?

guten morgähn.
so... ich habe jetzt mal das umfangreichere programm an den attiny12
angepasst. trotzdem tut sich da nix. der prozessor läuft nicht an.
vielleicht hat jemand ja die zeit, mal kurz in den quellcode zu schauen
und vielleicht einen fehler auszumachen.
alle anderen einstellungen sind so verblieben, wie oben schon erwähnt.

so ganz weiss ich auch nicht, wie sich das mit den ein- und ausgängen
am portb verhält, wenn ich binäre werte an den ganzen port zur ausgabe
übergebe...

danke im voraus

von Timo (Gast)


Lesenswert?

ok... falls es noch jemanden interessiert, ich hab die fehler jetzt
gefunden. war eine unglückliche aneinanderreihung von programmier- und
verdrahtungsfehlern. läuft jetzt.

danke an alle für die hilfe

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.