aaaargh... da habe ich über Stunden einen falschen Fehler gesucht :-(
Die Compileroption hatte ich auf -Og, Optimize for debugging gesetzt.
Die (oder das volatile) hat das dummy stehen gelassen, aber das
osDelay() wegoptimiert. Bzw. osDelay() ist ein kleiner Wrapper für
FreeRTOS nach CMSIS_RTOS. Ein Breakpoint auf die osDelay Zeile wird
nicht getroffen, aber einer in der Funktion die vTaskDelay() aufruft tut
was er soll...
Ok, dafür habe ich die Unschärfe mit dem SysTick und dem Timer2
entdeckt, eigentlich soll der Timer2 als Systemtakt dienen aber der
Systick wird auch initialisiert und der ruft den osSystickHandler() auf.
Kennt jemand den Grund warum der Timer anstelle des Systicks verwendet
werden soll?