Hallo, in meinem Programm habe ich in der while(1)-Schleife in der main-Funktion lediglich ein _delay_ms(1000) und danach das Toggeln eines Pins. Außerdem kann der MC in der Anwendung Daten über UART empfangen. Empfängt er nun ein einzelnes Zeichen über UART, dann toggelt der Pin, der in der Main umgestellt wird nicht mehr. Meine Frage: Kann das mit dem _delay_ms(1000) zusammenhängen? Ich habe schon öfters gehört, dass diese Delay-Funktionen Problemem mit sich bringen. gruß bushobbyentwickler p.s.: Den Code werde ich später reinstellen.
Hallo, 1. Schreib doch erst einmal, um welchen Prozessor bei welcher Taktfrequenz es geht. Hast Du die Dokumentation zur Delay-Funktion gelesen (s.u.)? 2. Damit die Delay-Funktion korrekt arbeitet, muss die Compiler-Optimierung aktiviert sein! Zitat aus dem AVR LIBC Reference Manual 1.4.3: 5.22.2.3 void _delay_ms (double __ms) Perform a delay of __ms milliseconds, using _delay_loop_2(). The macro F_CPU is supposed to be defined to a constant defining the CPU clock frequency (in Hertz). The maximal possible delay is 262.14 ms / F_CPU in MHz. Gruß Fred
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.