Kommunikation Mega8-16 -> RS232

Gast #741239
Lesenswert?

Hallo,

es gibt unzählige Beiträge zu dem Thema, aber ich pack es einfach nicht.

Aufgabe:
ATMEGA8-16 soll Strings an PC senden, Programm (minimal) in BASCOM
1
$regfile = "m8def.dat"
2
$crystal = 3686400
3
$baud = 19200
4
Do
5
   Print "Hello"
6
Loop

eigentlich simpel, aber es kommt nur Datenschrott an. Vermutung: falsche 
Baudrate!? Ich habe verschiedenes für Baud und Crystal ausprobiert, 
immer ohne Erfolg. Auch das ASM-Beispiel aus dem Tutorial tut nicht.
Die Taktfreq. habe ich mit einem Zähler schon genau ausgemessen und 
entsprechend eingetragen - nix!  :-((
Was muß im Terminalprog. eingestellt sein (habe schon zwei verschiedene 
Programme getestet) ??  9600, keine Parität, 8 Datenbit, 1 Stopbit, 
keine Protokoll ?!

Danke für Eure Hilfe,

Manni
Gast #741256
Lesenswert?

> Was muß im Terminalprog. eingestellt sein (habe schon zwei verschiedene
> Programme getestet) ??  9600, keine Parität, 8 Datenbit, 1 Stopbit,
> keine Protokoll ?!

1. Wenn du in deinem Programm die Baudrate auf 19200 Baud setzt, wirst
   du mit 9600 Baud am PC nie und nimmer was brauchbares empfangen
   können.

2. keine Parität, 8 Datenbit, 1 Stopbit und kein Protokoll sind ein
   guter Anfang ;)

Gruß,
Magnetus
Gast #741298
Lesenswert?

also iss der mega noch auf werkseinstellunge was die fuses angeht ??

wenn ja läuft der mit internem takt soweit ich mich erinnere und dann 
stimmt dein $crystal nicht oder irre ich da ??

schau doch mal ins datenblatt vom mega da steht drinn mit was der 
standartmässig läuft

da bascom ja den &crystal wert nimmt um die bautratenregister richtig zu 
setzen passt das dann nicht
#741318
Lesenswert?

Irgendwas stimmt hier nicht überein. Es wird behauptet die Taktfrequenz 
wurde genau gemessen und dann wird von einem ungefuseten Chip 
geschrieben. Werksmässig laufen M8 und M16 mit 1MHz und das ohne 
externen Schwinger. Wie siehts denn nun in Wirklichkeit aus? Etwas 
nachdenken vorm drauflosbasteln und drauflosposten könnte nicht schaden!

bye

Frank
Gast #741324
Lesenswert?

hm ich gehe mal davon aus das er sich ein eval board gekauft hat hats 
zusammengebastelt und angeschlossen

der quarz ist drauf also auch angeschlossen und schwingt kann also 
gemessen werden

nur ohne gsetzte fuses isset dem mega wurst ob da 1Hz oder 50Ghz 
dranhängen der läuft dann nur mit internem 1Mhz takt bis man ihm sagt:

 so du läuftst jetzt mit dem externen quarz

und das geht halt über die fuses.

nach der frequenz die er da gemessen hat dürfte das das board von Rowalt 
sein oder irre ich mich?

naja wenn gibt es da auch ein buch zu und da ist eigentlich alles zu 
diesem board erklärt inklusive fuses und bascom
#741327
Lesenswert?

nur durch anhängen schwingt ein Quarz nicht, dazu braucht er schon den 
anregenden Oszillator im Controller und Der ist aus wenn der Chip intern 
getaktet wird. Wenn allerdings auf dem Board ein Oszillator statt eines 
Quarzes drauf ist dann würde Der natürlich munter schwingen. 
Interessiert nur den Chip garnicht :-)

bye

Frank
Gast #741330
Lesenswert?

Das wusste ich noch nicht bin selber noch nicht ganz so lange dabei

ok wieder was gelernt

naja auf jeden fall läuft der quarz nur wenn die Fuses richtig gesetz 
sind und wenn er das erwähnte board hat ist im dazugehörigen buch auch 
alles schön übersichtlich erklärt auch wie die fuses per bascom 
eingestellt werden
Gast #741338
Lesenswert?

Hallo zusammen,

mal langsam - einfach so Augen zu und durch bin ich auch nicht. Ich 
stehe am Anfang meiner "AVR_Karriere" und kenne sicher die meisten 
Tricks und Kniffe nicht. Nebenbei: Ich nutzte ein STK500
Ich habe am Pin des IC gemessen und sowohl mit externem Quarz (16MHz) 
und Boardtakt 3,68.. MHz den Takt am Pin gemessen. Das waren die 
angegebenen Werte.
Der Controlelr läuft intern mit 1MHz und ich habe über AVR-Studio die 
Fuses ausgelesen und kann das damit bestätigen (SUT_CKSEL: Int. RC Osc. 
1 MHz; Start-up time: 6 CK + 64 ms; default value)
Leider löst aber auch "baud=1000000" das Problem nicht.

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