Hi,
ich hab zwar keine Ahnung ob das überhaupt noch im Programm steht (*sry grade zu müde um mehr zu lesen
*)
aber ganz oben iss mir dashier aufgefallen:
Code:
void Delay_us(uint16_t Verzoegerung)
{
Zeit=0;
while(Zeit<=Verzoegerung);
}
dabei iss aber, egal mit welchem parameter man die Funktion Delay_us aufruft dann sofort ewiger Stillstand
denn da Verzögerung nicht negativ sein kann (wies mit 0 iss weiss ich garned iss aber egal) MUSS sie immer >= 0 sein 
das bedeutet soviel wie wenn du einfach while(1); hinschreibst
ich vermute das sollte eigentlich so aussehen:
Code:
void Delay_us(uint16_t Verzoegerung)
{
Zeit=0;
while(Zeit<=Verzoegerung)Zeit++;
}
ach ja, dabei sit aber noch zu beachten, dass die funktion nicht soviele us wartet wie verzögerung groß ist, die takte eines µCs sind soweit ich weiss noch kleiner...
da diese art von delay eh blockierend ist, kann man auch gleich die delay.h oder wie die genau heißt hernehmen...
LG Pr0gm4n
Lesezeichen