mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik BASCOM AVR und ATTiny12


Autor: Cp.Nemo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: ThomasB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: E-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael von Gersdorff (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Cp.Nemo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Cp.Nemo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Cp.Nemo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Methusavr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.