Forum: Mikrocontroller und Digitale Elektronik BASCOM AVR und ATTiny12


von Cp.Nemo (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Gemeinde!

Ist es inzwischen zufällig irgend jemandem gelungen, einen ATTiny12 mit
Bascom zu programmieren? Das Compilieren und Flashen funktioniert bei
mir einwandfrei. Nur läuft das Programm leider nicht auf dem AVR.

Wäre für Hilfe sehr dankbar.

von ThomasB (Gast)


Lesenswert?

Ahoi Cp.Nemo:

Hier ein kleines Testprogrann
Vieleicht geht so ?
 $regfile = "at12def.dat"
 $crystal=1200000
 $tiny
 $noramclear
  Ddrb = &B000001
 Portb = &B111111
 Do
  toggle portb.0
  waitms 250
Loop

MfG ThomasB

von E-Fan (Gast)


Lesenswert?

So weit ich weiß unterstützt Bascom die Attinys nicht. Gibt's evtl nach
der Compilierung ne Möglichkeit die Adressen des Programms für den Flash
zu Kontrollieren??? Vielleicht will Bascom ja was in Bereiche
reinschreiben, die die Tiny's für andere Dinge brauchen und deshalb
nicht überschrieben werden dürfen/können.

mfg aus P
der E-Fan

von Michael von Gersdorff (Gast)


Lesenswert?

Wenn Euer Bascom die Attiny12 nicht unterstüzt würde ich das Bascom
updaten. Die version die ich verwende (1.11.74) unterstüzt diese sehr
wohl und auch etliche andere neuere Prozessoren.
Gruß
Michael

von Cp.Nemo (Gast)


Lesenswert?

@ThomasB

Vielen Dank für Deine schnelle Antwort. Ich konnte dass Listing leider
erst heute testen, leider ohne Erfolg. Per eMail habe ich auch von
Roland Walter Hilfe bekommen. Er hat mir unter anderem folgendes
Listing vorgeschlagen (LED an PB0 soll leuchten):

$Regfile = "at12def.dat"
$Tiny
$NoRamClear
$NoInit
$Asm
  ldi R16,&B000001
  out DDRB,R16
  ldi R16,&B111111
  out ORTB,R16
  Main:
  rjmp Main
$End Asm

Auch damit hatte ich leider keinen Erfolg.


@Michael von Gersdorff

Ich verwende Version 1.11.7.4 sollte also die neueste Version sein. Ob
BASCOM die Tiny's tatsächlich unterstützt, finde ich nicht ganz
eindeutig. Wenn sie BASCOM unterstützt, dann muss es auch eine
Dokumentation dazu geben. Dem ist leider nicht so. In der Hilfe zu
"$tiny" findet man die lapidare Aussage:

"Some BASCOM statements will also already work but the biggest part
will not work".

Welche Befehle konkret funtionieren und welche nicht, bleibt die
"Hilfe" jedoch schuldig. Da muss man leider sagen, dass BASCOM die
Tiny's im Augenblick eher nicht unterstützt.

Ich werde jetzt mal mit einem ATTiny26 weiterexperimentieren. Der hat
ja im Gegensatz zum Tiny12 zumindest einmal SRAM. Vielleicht habe ich
mehr Glück damit...

von Heinz (Gast)


Lesenswert?

Nimm Assembler, dann brauchst du den vorgeschlagenen Assemblercode nicht
erst noch in BASIC einpacken

oder gleich einen PC, der hat wenigstens genug RAM

MfG, Heinz

von Heinz (Gast)


Lesenswert?

Achja, das Speichermodell "Tiny" einer Hochsprache muss nicht
unbedingt etwas mit der Bezeichnung "Tiny" einiger AVRs oder junger
Leute zu tun haben.

MfG, Heinz

von Heinz (Gast)


Lesenswert?

Aber jetzt mal Spaß beiseite.

Ich habe mir mal dein Programm angesehen, damit schaltest du lediglich
Pin 5 auf H-Pegel und die anderen I/O-Pins auf Eingang mit
eingeschaltetem Pull-Up-Widerstand (ein Messgerät erkennt hier auch
H-Pegel). Und dann hängt sich dein Programm in einer Endlosschleife auf
(was vermutlich als sauberer Programmabschluss gewollt ist). Es tut also
nichts mehr.

Die Frage ist nun, wie du feststellen willst, ob dein Programm auch
ausgeführt wird.

Was hast du für eine Peripherie an den Tiny12 angeschlossen?

Vielleicht funktioniert dein Programm ja korrekt und du hast es nur
nicht bemerkt (Denkfehler beim Anschluss der Peripherie? - Etwas
anderes erwartet als man programmiert hat?)?
Soll alles schon vorgekommen sein.

MfG, Heinz

von Cp.Nemo (Gast)


Lesenswert?

Ich habe gerade in dem Buch "Programmieren der AVR RISC Mikrocontroller
mit BASCOM-AVR" von Claus Kühnel den Hinweis gefunden, dass
AVR-Mikrocontroller ohne SRAM für den Einsatz mit BASCOM nicht geeignet
sind. Ein ATTiny26 oder ATTiny13 sollten also geeignet sein, der
ATTiny12 jedoch nicht.
Ich frage mich nur, warum der ATTiny12 in den Optionen auswählbar ist
und es ein $regfile = "at12def.dat" gibt?

von Cp.Nemo (Gast)


Lesenswert?

@Heinz

Sinn des Programms ist es, eine LED an Pin 5 (PB0) zum Leuchten zu
bringen.

Hardwaremäßig ist alles korrekt angeschlossen und wenn Pin 5 extern mit
5 Volt versorgt wird, leuchtet die LED auch brav.

von Methusavr (Gast)


Lesenswert?

Ja, ich weiß, der Thread ist gefühlte 100 Jahre alt, aber trotzdem ist 
ein Fehler im Code, der sich in der Zeit nicht selbst korrigiert hat. 
Also muss ich ihn fixen, weil ich jetzt drüber gestolpert bin (Marotte 
von mir ;)

Im Post von Cp.Nemo (Gast) Datum: 19.07.2004 16:30:

Bei "out ORTB,R16" muss es PORT lauten.
Der Reset-Pin muss auf VCC gezogen werden.

Fertig, Dann gehts auch mit Nachbars ATtiny12.

Gruß
Methusavr

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.