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
> #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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.