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!?
Gast
#2450652
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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.