Hi Leute, Ich hoffe einer von euch kann mir eine kleine Frage beantworten. Ich habe hier einen Schrittmotor/TMC222 der über TWI gesteuert wird und weiterhin einen FTDI usb-rs232 converter. Wenn ich in meinem ATmega328p die Fuses auf DIV8 stelle funktioniert die TWI-schnitstelle. Die RS232 schnitstelle funktioniert nicht! (bzw. ich muss die Baudrate bei meinem Terminalprogramm durch 8 teilen (Baud9600 beim µC und 1200 im Terminal)) Wenn ich die Fuses auf nicht DIV8 stelle funktioniert die RS232 Datenübertragung wunderbar aber der TMC möchte nicht. Wer hat eine Antwort auf die Frage: WARUM!?
Suche dir eine oder zwei Varianten aus:
Die Einstellung der Baudrate in der UART-Initialisierung ist falsch
programmiert. Der top-secret Code berücksichtigt bei der Berechnung der
Werte fürs Baudratenregister nämlich nicht, dass durch die DIV8 Fuse die
Taktrate geändert wurde.
Die Einstellung der TWI-Taktrate in der TWI-Initialisierung ist falsch
programmiert. Der top-secret Code berücksichtigt bei der Berechnung der
Werte fürs TWI-Taktrate in der TWI-Initialisierung ebenfalls die falsche
Taktrate.
Oder die TWI-Taktrate ist mit der richtigen Taktrate des µC berechnet,
fällt aber in einen unzulässigen Bereich (zu schnell für den TMC222 d.h.
>350 kbps).
HEHE danke, es lag daran, dass ich die i2c_init nicht ausgeführt hatte.... wie dumm man doch manchmal sein kann xD
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.