Gast
#5558384
Hallo, Ich habe ein Problem mit einem c++ Projekt (Atmel-Studio 7) auf einem Atmega2560. Das Programm steht vollständig auf github (https://github.com/FlorianWeber1018/ArduinoIO). Dieses Programm soll Befehle über den UART empfangen und entsprechend antworten. Leider funktioniert dies nicht und das Programm verhält sich seltsam. Genauer wird der this-Pointer des cmdParser Objekts (cmdParser.cpp) durch den Aufruf der globalen Funktion "cmdHandler_get_config_io(uint8_t pin)" (cmdHandler.cpp), in der MemberFunction "void cmdParser::parseOne() volatile" (cmdParser.cpp) auf null gesetzt. Dies führt letztendlich zu dem seltsamen verhalten des Programms. ich habe bereits längere Zeit damit verbracht den Fehler einzugrenzen und kann mir es nicht mehr anders erklären wie mit einem Compilerfehler. in den Eingangsbuffer des UART lade ich zum Test ein Paar Pakete, sodass die Simulation des Projekts den Fehler reproduziert. Die Optimierung habe bereits deaktiviert. Nun bin ich ratlos und frage hier nach Hilfe. Ist es wirklich ein Fehler im Compiler oder sehe ich den Wald vor lauter Bäumen nicht mehr?