Servus, warum bekomme ich hier nur Datenmuell? den Code habe ich angehängt. Als Controller verwende ich den Atmega 16 und den Mega 2560. HTERM Spuckt nur Quadrate aus... bitte um Hilfe!! Danke im Voraus! Gruss Dani
>#define F_CPU 12000000UL Ich dachte immer Arduinos laufen mit 16MHz. Sind die Fuses auch so eingestellt das der AVR mit Quarz läuft?
Bitte suche mal hier nach dem Problem und versuche die verschiedenen genannten Maßnahmen. Die Ergebnisse werden für die weitere Fehlersuche hilfreich sein, falls sich das Problem nicht dadurch schon erledigt.
Vielen Dank für deine schnelle Antwort! Der Atmega16 ist kein Arudino Board. Den MEGA 2560 habe ich mit dem Arduino IDE programmiert. "Serial.begin(9600);" sollte ja schon die ganeze Uart Konfig. übernehmen?! Gruss dani
>sollte ja schon die ganeze Uart Konfig. >übernehmen? Das nützt dir aber nichts wenn der AVR nicht mit dem Takt läuft den du angegeben hast. #define F_CPU 12000000UL Das stellt den Takt nicht ein, das sagt dem Compiler nur das er damit rechnen soll. Lass mal ne LED im Sekundentakt blinken. Tut sie das auch?
Daniel R. schrieb: > holger schrieb: >> Lass mal ne LED im Sekundentakt blinken. Tut sie das auch? > > JA funktioniert Wirklich 1 Sekunde? oder vielleicht doch 1,3s? Pi * Daumen gemessen?
:
Bearbeitet durch User
Timmo H. schrieb: > Wirklich 1 Sekunde, oder vielleicht doch 1,3s? Läuft FAST synchron zur Stoppuhr... wie kann ich die Fuses überprüffen?
> UCSRC = (1<<UMSEL) | (1<<UCSZ1) | (1<<UCSZ0);
Soll das vielleicht URSEL heißen?
Was soll denn jetzt eigentlich diese Mischung von plain C und Arduino Code? Ins UDR direkt schreiben sollte man nicht machen. Vorher gucken ob senden Möglich ist ( while (!(UCSRA & (1<<UDRE))) ) Die beiden Programme machen was anderes. Was passiert denn bei diesem Arduino Code:
1 | void setup() |
2 | {
|
3 | Serial.begin(9600); |
4 | |
5 | Serial.println("Hello world!"); |
6 | }
|
7 | |
8 | void loop() |
9 | {
|
10 | |
11 | }
|
:
Bearbeitet durch User
D S. Landolt schrieb: >> UCSRC = (1<<UMSEL) | (1<<UCSZ1) | (1<<UCSZ0); > > Soll das vielleicht URSEL heißen? Auf URSEL geändert, jetzt kommt nur mehr ein Quadrat und nicht mehr 3 oder 4!! geht schon mal in die richtige Richtung, danke!!
Also ist die Baudrate jetzt nur noch ein bisschen falsch; oder wird das Signal nicht invertiert, d.h. kein MAX232 dazwischen?
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.