ATTiny 13 erste Inbetriebnahme

OP #3122234
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
Gast #3122359
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
OP #3123708
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)
#3123727
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.
#3123732
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)"

...
#3123737
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.
OP #3123859
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
#3123924
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.

...
OP #3126687
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

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