ATmega8 -> AVRTerm zeigt nichts an

Gast #492273
Lesenswert?

Hallo!
Bin neu hier im Forum und wollte einfach mal mein konkretes Problem kund 
tun, da ich da gerade nicht weiter komme.
Habe mir von rowalt.de das Buch gekauft und bei Segor de mC-Bausatz.
Zusammengelötet usw.
So, LEDs ansteuern und Taster auslesen auf diesem Testboard klappt 
prima, lediglich die Ausgabe von irgend nem Text auf der seriellen 
Schnittstelle (AVRTerm am laufen) bleibt leer (Windows98) bzw. irgend 
ein kryptisches Zeugs aus Sonderzeichen (WinXP mit USB2Serial-Adapter).
eingestellt, keine Parität, kein Stopbit, das Übliche eben.

Brennen über Parallelport klappt im übrigen auch.
Was mache ich bei der RS232 falsch?
Danke,
ping
Gast #492311
Lesenswert?

'0003.BAS:   UART-Sender
'Hardware:  MAX232 an PD0/PD1, Nullmodemkabel zum PC
'---------------------------------------------------
$Regfile = "2313def.dat"  'AT90S2313-Deklarationen
$Crystal = 3686400    'Quarz: 3.6864 MHz
$Baud    = 9600       'Baudrate der UART: 9600 Baud

Dim i As Byte
Dim wTest As Word

i = 1
wTest = 35000

Do
  Printbin i ; wTest
  Print "Hallo AVR: " ; i ; wTest
  Print "<--->" ;
Loop
End

#492366
Lesenswert?

Bascom
da kann eigentlich nicht viel schiefgehen.
Ich tippe immer noch darauf, dass der Quarz nicht
aktiv ist. Es reicht nicht, dass du den Quarz
ranlötest, du musst auch die FuseBits im Prozessor
entsprechend umstellen. Hast du das gemacht?

Ein einfacher Test:
Schreib da mal rein:
$Crystal = 1000000

also 1 Mhz.

Moment!
$Regfile = "2313def.dat"  'AT90S2313-Deklarationen

Ich denke du hast einen Mega8? Warum steht dann
da dass ein 2313 am Werk ist?
Gast #505607
Lesenswert?

so, hab nochmal nachgesehen,
bin endlich wieder vorort.

Im Programm steht derzeit drin:

                                  $regfile = "m8def.dat"
                                  $crystal = 3686400

                                  $baud = 9600

                                  Dim I As Byte

                                  Dim Wtest As Word

                                  I = 1
                                  Wtest = 35000

                                  Do
                                    Printbin I ; Wtest
                                    Print "Hallo AVR: " ; I ; Wtest
                                    Print "<--->";

                                  Loop
                                  End

soweit so gut, hmm..
also hab die richtige regfile drin, hatte den quelltext von ner anderen 
Seite kopiert.
Gast #505633
Lesenswert?

und da türmt sich auch gleich schon ein weiteres Problemchen.

Hab folgendes Programm abgetippt:

$regfile = "m8def.dat"
$crystal = 3686400
$baud = 9600


Config Serialout = Buffered , Size = 200                     '20 Bytes 
Warteschlange

Ddrd.5 = 1                                                  'PD5 als 
Ausgang konfigurieren

Do
   If _rs_head_ptrw0 = _rs_tail_ptrw0 Then                  'Sendepuffer 
leer?
      Print "Dies ist ein Test."
   End If
   Portd.5 = Not Portd.5 
'Speakerausgang invertieren

   Waitms 1                                                 'Eine 
Millisekunde warten
Loop

End


Nun ist die Frage, warum er im AVRTerm lediglich  "Di" ausgibt, nach 
drücken von Reset, gibt er erneut Di aus ... aber jweils nur einmal..
scheinbar arbeitet er den Puffer nicht ab.. deswegen geht er auch nicht 
zurück in die schleife. hmm. vielleicht hat jemanden nen tip,
vielen dank

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