Forum: Mikrocontroller und Digitale Elektronik ATTiny 13 erste Inbetriebnahme


von Theo L. (theo_100)


Lesenswert?

Hallo zusammen,
habe vor ca. 30 min bereits diesen Artikel gschrieb aber irgendwie ist 
der "weg".
Meine Frage :
habe einen ISP Programmer (mySmartUsbMk2 in betrieb genommen, und ein 
selbstgebautes Testboard mit einem ATTINY13 drangehängt. 
Spannungsversorgung erfolgt über USB vim PC via Programmer.

Muss jetzt noch was an dem Chip eingestellt werden, und wenn ja wie, 
oder kann man jetzt gleich ein Programm draufladen? ( Ich verwende 
keinen ext. Quartz

2) ich will die programme in Bascom schreiben; bei einem anderen 
Testboard musste da immer die Freq. angegeben werden im "Header" des 
Programms.
Wie sieht der Header bei ATTINY aus ?

Header :
$regfile=m8def.dat--> und bei ATTINY ?
$crystal = ????? --> laut Datenblatt 9,6 MHZ ( ween ich es richtig 
geshen habe)

Vielen Dank für Eurer Antworten.
Gruss
Theo

von Tiny (Gast)


Lesenswert?

$regfile = "ATtiny13.dat"

$crystal habe ich immer weggelassen.
Den gibts doch nur als 10 Mhz und 20 Mhz Version!?

von Eumel (Gast)


Lesenswert?

Theo Löcken schrieb:
> laut Datenblatt 9,6 MHZ ( ween ich es richtig
> geshen habe)

Wenn er fabrikneu ist dann ist noch die CLKDIV8 Fuse gesetzt.
Also 9,6Mhz/8 = 1,2Mhz

von grummel (Gast)


Lesenswert?

Theo Löcken schrieb:
> Wie sieht der Header bei ATTINY aus ?
>
> Header :
> $regfile=m8def.dat--> und bei ATTINY ?
> $crystal = ????? --> laut Datenblatt 9,6 MHZ ( ween ich es richtig
> geshen habe)

regfile und crystal wie weiter oben schon aufgeführt.
Außerdem gehören meiner Ansicht nach auch
$hwstack =
$swstack =
$framesize =
in den Header, da sonst die IDE Einstellungen wirksam sind, die man nur 
selten im Blick hat.
Werte nachlesen bei 
http://halvar.at/elektronik/kleiner_bascom_avr_kurs/speicher_hwstack_swstack_frame/ 
oder BASCOM Hilfe

von Theo L. (theo_100)


Lesenswert?

Hallo Zusammen,
vielen Dank für Eure Antworten.
Habe jetzt mal ein kleines Programm geschiegen.
Portb.0 im 500ms Tackt ein/aus (in einer endlos Schleife)

Problem beim Compilieren
Error 22 out of SRAM Space, in File........

Was ist das denn ?
Freq, habe ich auf 9600000 gesetzt; die Stackangaben von grummel habe 
ich
nicht angegeben. ( Frage :was muss denn da hin?)
Bei der Freq. muss da nun 9,6 MHz stehen oder 1,2

Wer weiss rat ?
Vielen Dank vorab.
Theo
P.S. programmiere in BASCOM ( zu mehr reichts noch nicht)

von Daniel J. (theend)


Lesenswert?

Mein header sieht so aus:
1
$regfile = "attiny13.dat"
2
$crystal = 1200000
3
$framesize = 10
4
$swstack = 10
5
$hwstack = 10
Wie oben beschrieben läuft er mich 9,6mhz diese werden aber durch 8 
geteilt. (Kann per fusebit deaktiviert werden.)
Du musst aber BASCOM die ware Frquenz sagen, also 1,2mhz.
Ich denke wenn 10 ?bytes? zu wenig sein sollten, dann würde es den ich 
BASCOM schon als error ausgeben, wie er es ja bei dir tut.

von Hannes L. (hannes)


Lesenswert?

Theo Löcken schrieb:
> Freq, habe ich auf 9600000 gesetzt;

Hast Du den Tiny13 auch auf 9M6 eingetellt? - Ab Werk läuft der mit 
Vorteiler 1:8, also mit 1M2.

> die Stackangaben von grummel habe
> ich
> nicht angegeben.

Dann ist es kein Wunder, dass die 64 Bytes SRAM alle sind.

> ( Frage :was muss denn da hin?)

Hardware-Stack, Softwarestack (für Parameterübergabe) und Framesize 
(Arbeitsbereich für Funktionen) gemäß dem tatsächlichen Bedarf. Trägst 
Du das nicht ein, nimmt er die Voreinstellungen, die für Mega8 passen 
oder die Du beim letzten mal irgendwo in den Tiefen der Menüpunkte 
eingestellt hast. Auch in Bascom sollte man die (verdammt knappen) 
Ressourcen im Auge behalten.

> Bei der Freq. muss da nun 9,6 MHz stehen oder 1,2

Das kommt darauf an, ob Du die Ckdiv8-Fuse verstellt hast und/oder den 
Systemtakt-Vorteiler CLKPR mit Deiner Software veränderst. Ist der 
Tiny13 im Auslieferungszustand, dann muss da 1200000 Hz eingetragen 
werden. Mit dem Wert stellst Du übrigens nichts am Tiny13 ein, die 
Angabe dient lediglich zum Berechnen der Warteschleifen und Baudrate.

Tipp:
Schau doch einfach mal, was andere Leute so in ihre Tiny13-Quelltexte 
reinschreiben und versuche nachzuvollziehen, warum sie das so und nicht 
anders gemacht haben.

Falls Du nichts findest, dann schau mal hier:
Beitrag "Re: BASCOM AVR - Problem mit den Outputs (ATMega 8 und STK500)"

...

von Theo L. (theo_100)


Lesenswert?

Hallo Daniel,
Danke!
Werds morgen mal ausprobieren. Für Heute ist schluss.
Gruss
Theo

von Daniel J. (theend)


Lesenswert?

Klasse, wollte meinen beitrag bearbeiten und so wie "Hannes Lux" 
erklären warum der Error erscheint, aber erhalten dann beim absenden das 
ich den Beitrag nicht mehr ändern kann. 5 minuten meines Lebens sind 
dahin :D.

Es liegt einfach daran das BASCOM standardmässig immer:

HWstack: 40 bytes
SWstack: 16 bytes
Framesize: 32 bytes

Aber die 64 bytes vom ATtiny13 sind zu wenig dafür.

von Hannes L. (hannes)


Lesenswert?

Daniel J. schrieb:
> wollte meinen beitrag bearbeiten und so wie "Hannes Lux"

Ich glaube Dir auch so, dass Du das weißt. Ich hätte mir meinen Beitrag 
genausogut sparen können, da Du mir zuvor gekommen bist. Soll ich nun 
deshalb (auch) in die Tast(el)atur beißen? - Nee, das sehe ich gaaaanz 
locker...

...

von Theo L. (theo_100)


Lesenswert?

guten Morgen,
Danke für die Hinweise !
jetzt gehts !
Das mit den Stacks + frames muss ich mir noch mal ansehen.
In meiner Litheratur (Stefan Hoffmann : AVR + Bascom.....) kommt das 
nicht vor. Allerdings wird dort auch ein Mega 8 Prozessor verwendet.
Testboard dazu ist von myAVR, dort lief es alles "problemlos".
Danke + Gruss
Theo

von Hannes L. (hannes)


Lesenswert?

Theo Löcken schrieb:
> Allerdings wird dort auch ein Mega 8 Prozessor verwendet.

Das ist völlig normal. Viele MC-Anfänger (auch ich) haben zuvor 
gelegentlich auf dem PC oder Heimcomputer programmiert. Dort nimmt man 
natürlich Hochsprachen und hat auch genügend Ressourcen (Speicher, 
Rechenzeit), um mit Kanonen auf Spatzen schießen zu können.

Der Mega8 ist schon recht üppig ausgestattet und verleitet anfangs auch 
zu unüberlegter Drauflosprogrammierung.

Beim Tiny13 muss man aber schon auf die Ressourcen achten, da kann einen 
das unbekümmerte Benutzen vorgefertigter Module einer Hochsprache zur 
Verzweiflung bringen.

Hochsprachen sind ansich nichts Böses. Wenn man unter Betriebssystemen 
programmiert, geht es (fast) gar nicht ohne. Bei den knappen Ressourcen 
der kleinen 8-Bit-Mikrocontroller kann es aber schnell eng werden, weil 
die vorgefertigten Module aus den Libs der Hochsprache auf Universalität 
optimiert wurden und nicht auf Sparsamkeit. Deshalb lohnt es sich, wenn 
man die Architektur (dazu gehört auch der ASM-Befehlssatz) des 
verwendeten Controllers einigermaßen kennt und damit weiß, was er selbst 
kann und was man um die Ecke per Software-Routinen machen muss.

Ich programmiere auch gelegentlich in Bascom (meist aber in ASM), 
letztens war es eine kleine DCC-Zentrale (nur Fahren, Funktionen und 
Weichen von zwei Steuergeräten aus) auf dem Mega8.

...

von Kevin (Gast)


Lesenswert?

Theo Löcken schrieb:
> Hallo zusammen,
> habe vor ca. 30 min bereits diesen Artikel gschrieb aber irgendwie ist
> der "weg".

Ich habe da etwas für dich, falls du es noch brauchst.
Beitrag "ATTiny13N erste Inbetriebnahme"

von Walter S. (avatar)


Lesenswert?

nur Mal so als Anmerkung:
warum muss es der Tiny13 mit seinem Mini Speicher sein, z.B. der Tiny25 
oder besser noch tiny85 ist genauso groß, hat aber deutlich mehr 
Speicher

von virus (Gast)


Lesenswert?

Walter S. schrieb:
> nur Mal so als Anmerkung:
> warum muss es der Tiny13 mit seinem Mini Speicher sein, z.B. der Tiny25
> oder besser noch tiny85 ist genauso groß, hat aber deutlich mehr
> Speicher

nur mal so als Anmerkung:
damit lernt man mehr, auch daß es andere µCs gibt.

von Theo L. (theo_100)


Lesenswert?

Hallo Zusammen,
warum ATTiny 13 ? weil ich das erste mal probiert habe mir ein Testboard 
zu bauen + Programmer in Betrieb nehmen etc........
Jeder hat schliesslich mal klein angefangen.
Da muss man ja nicht gleich ggf. einen Mega 8 verheizen, oder .....
Hat aber alles prima geklappt ( mit einigen kleinen Problemen).
Ich werde auch noch hoffentlich an der Grösse der Uc's wachsen mit 
meinen Erkentnissen.

Vielen Dank für Eure Unterstützung!
Gruss
Theo

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.