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:
dabei iss aber, egal mit welchem parameter man die Funktion Delay_us aufruft dann sofort ewiger StillstandCode:void Delay_us(uint16_t Verzoegerung) { Zeit=0; while(Zeit<=Verzoegerung); }
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:
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...Code:void Delay_us(uint16_t Verzoegerung) { Zeit=0; while(Zeit<=Verzoegerung)Zeit++; }
da diese art von delay eh blockierend ist, kann man auch gleich die delay.h oder wie die genau heißt hernehmen...
LG Pr0gm4n







Zitieren
Lesezeichen