Forum: Compiler & IDEs U(S)ART-Anfänger-Probleme


von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich bin auf dem Gebiet der C-Programmierung in Verbindung mit 
Mikrocontrollern (Atmega16) ganz frisch und möchte ein wenig was auf dem 
Gebiet lernen.

Ich hab das Pollin-Evolution Board und programmier den Atmeag mittels 
isp.

So...ich hab Probleme mit der einfachen Kommunikation mit meiner 
RS232-Schnittstelle.

Irgendwie bekomm ich es nicht gebacken ein einziges Zeichen auf 
Knopfdruck an meinen PC zu schicken (gelogged wird mit Tera Term pro).

Der Quellcode ist im Anhang und wie man sieht hab ich dort 
Entprellfunktion und zwei andere Funktionen die ich aus dem Handbuch des 
Atmega16 rauskopiert habe.

So, jetzt wenn ich bei Tera Term auf Baudrate 9600 stelle geht schon mal 
garnichts. Erst wenn ich auf extrem niedrige Baudrate (1200,600) stelle 
dann kommen Zeichen an. Aber da auch nicht die richtigen und nicht 
immer.

Nochmal zur Erklärung, ich hab zwei Taster, mit dem einen kann ich nur 
eine LED toggeln (PIND4). Mit dem anderen Taster (PIND3) möchte ich bei 
jedem Drücken ein Zeichen senden. Erstens empfängt TeraTerm nur alle 5 
mal drücken ein Zeichen und nicht bei jedem Drücken. Zweitens dass mit 
der eingestellten Baudrate funktioniert garnicht.

Ich hab auch so meine Probleme mit dem ganzen Frequenzen, Taktraten. Ich 
kapier garnicht was man bei F_CPU und FOSC und dem ganzen Zeug so 
reinschreiben muss. Woher weiss ich jetz was für einen Frequenz der MC 
jetzt verwendet? Es gibt ja einen Internen Osz. und auf meinem Board 
sind verschiedene Quarze drauf. Wer kann mir das mal prinzipiell 
erklären und auch wie man das einstellt und für was :-)

Fragen über Fragen ich weiss...aber ich möcht ja was dazulernen g

Also hoff es kann mir wer helfen,


Grüße aus Bayern
Markus

von Johannes M. (johnny-m)


Lesenswert?

> #define F_CPU 3686400UL     /* Quarz mit 3.6864 Mhz  */
> ...
> #define FOSC 1843200// Clock Speed
du musst Dich schon entscheiden, ob der µC mit 3,6864 oder nur mit 
1,8432 MHz läuft. Und wenn es an der Stelle schon Probleme gibt, wie 
sieht es dann mit den Fusebits aus? Ich geh mal stark davon aus, dass 
der µC mit keiner der beiden Frequenzen oben läuft, sondern vermutlich 
mit dem internen RC-Oszillator @1 MHz...

von Markus (Gast)


Lesenswert?

Ja, stimmt schon...da hast du recht, an den Fusebits hab ich nichts 
geändert. Also läuft er wohl mit 1MHz.

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.