N'abend! Bevor nun die ersten wohl berechtigterweise gleich mit den Köpfen schütteln... die Such Funktion war nicht so ergiebig wie ich es gern gehabt hätte. Also, mir ist nicht so ganz klar warum der AVR Studio Simulator nicht das tut was er sollte. Hier nen kleiner Auszug aus dem Code: --------------------------------------------------- UBRRH = UBRR_VAL; UCSRA = ( 1 << RXEN ); UCSRC = (1<<URSEL) | (1<<USBS) | (3<<UCSZ0); ... PORTC |= USART_Receive(); ... uint8_t USART_Receive() { while (!(UCSRA & (1<<RXC))) // warten bis Zeichen verfuegbar return UDR; // Bit zurückgeben } ---------------------------------------------------- Theoretisch sollte doch an PortC das erste Bit gesetzt sein, wenn ich in der while Schleife das UDR Bit und das RXC Bit auf 1 setze? Warum tut er das nich? Vielen Dank im vorraus! :) Flo
"The UART/USART UDR register can only be modified from the application. Input via stimuli files or by modifying the I/O view etc is not possible. Terminal I/O window is not implemented. This feature is available in AVR Studio 3.xx." Ah ok, danke :). Hätte ich allerdings gleich mal noch die nächste Frage. Im Tutorial und an mehreren anderen Stellen wird das Einlesen von einem "Zeichen" immer durch diese while Schleife realisiert. Was gibt denn dieses UDR genau zurück? Ein Bit? Ein Byte? Das Byte das zwischen Start/Stop Bit(s) steht? Konnte dazu auch im Datenblatt nix finden. Und Danke im vorraus nochmal!
Achja, macht es u.U. Sinn für solche Tests aufs AVRStudio 3.xx umzusteigen? Ist es sehr aufwändig sich in andere IDEs die das unterstützen einzuarbeiten?
HI >Achja, macht es u.U. Sinn für solche Tests ... Nein. Die AVR-Studios 3.xx waren in der Simulation auch nicht besser. Als notorischer Assemblerprogrammierer kann ich dir auch nur bedingt helfen. Der Simulator reagiert zumindest auf ein manuelles Setzen der entsprechenden Bits richtig. Ich würde kannst du an der Stelle : >while (!(UCSRA & (1<<RXC))) // warten bis Zeichen verfuegbar einen Breakpoint setzen und dann die Bits setzen MfG Spess
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.