Forum: Compiler & IDEs TWI beeinflusst UART1 bei Mega 2561?


von Hendrik L. (lbd)


Lesenswert?

Hallo zusammen,

mit Peter Fleury's Library arbeite ich seit Jahren "vertrauensvoll" 
zusammen.

Die Ansteuerung einer UART1 beim 2561 arbeitet in allen 
Betriebszuständen einwandfrei.

Nun habe ich die HW-TWI (PD0 / PD1) mit Peter's Routinen versucht 
anzusteuern (2561 als Master Transmit) ...:

Nach dem ich aber einen der beiden Befehle testent wahlweise(XOR) 
aufrufe,


     i2c_start_wait(IC-Dev+I2C_WRITE);     // set device address and 
write mode
//     i2c_start(IC-Dev+I2C_WRITE);     // set device address and write 
mode


steht die UART Kommunikation (keine Ausgabe mehr). Der TWI Bus arbeitet 
laut Oszilloskop ...

Ist das Thema bekannt - Hat jemand einen schnellen Tip für mich ?

Danke im voraus!

von Hendrik L. (lbd)


Lesenswert?

Hallo

Problem ist weg, warum ist nicht ganz klar, habe mehrere Dinge 
verändert.

Wenn's wieder auftaucht, melde ich mich!

Danke!

von juku (Gast)


Lesenswert?

Ich hab ein ähnliches Problem beim ATmega1284p, bei mir sinds allerdings 
ganz wirre zeichen

was genau hast du denn geändert?

von Hendrik L. (lbd)


Lesenswert?

juku schrieb:
> Ich hab ein ähnliches Problem beim ATmega1284p, bei mir sinds allerdings
> ganz wirre zeichen
>
> was genau hast du denn geändert?

Bei mir war die UART1 ganz tot (auch am Oszilloskop). Wirre Zeichen 
deuten auf ein anderes Problem, nämlich, dass Du die Baudrate mit 
Implementation der TWI verstellt hast ...! Prescaler verändert ? Oder 
Frequenz nicht im Makefile (Parmeter) sondern irgendwo im Code (vorher) 
hardcoded eingestellt ? Dann setzt nämlich Peter Fleury die Frequenz auf 
4 Mhz ...!!!!

Viel Erfolg!

von juku (Gast)


Lesenswert?

die Frequenz hab ich geändert.

Hab jetzt genau das selbe Problem wie du, die Funktionen i2c_start 
sorgen echt dafür, dass der UART abstirbt.

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.