Gast
#585910
Hallo, gibt es eine delay-FUnktion in WINarm wie bei WINavr?? Wenn nicht, gibt es die vielleicht schon als lib oder so?? Gruss world
|
Anzeige
|
delay-Funktion in WINARM?
Gast
#585910
Hallo, gibt es eine delay-FUnktion in WINarm wie bei WINavr?? Wenn nicht, gibt es die vielleicht schon als lib oder so?? Gruss world
Gast
#586024
Die in WinARM enthaltene libc ist die newlib und enthält kein "vorgekautes" delay wie die delay.h von avr-libc. Die Anzahl der Durchläufe für "Zeitverbrennschleifen" sind aufgrund der verschiedenen unterstützten Controller nicht einfach zu errechnen, da nicht nur von Prozessortakt sondern auch vom Speicherinface abhängig (Waitstates für RAM und/oder Flash, Bus-Takt(e), evtl. MAM etc.). Fertige "lib oder so" kann man bestenfalls für sehr ähnliche Controller erstellen. Alternativen: - selbstgeschriebene Zeitschleifen mit Oszilloskop ausmessen (ziemliches gebastel, kaum portabel, relativ einfach) - Bei Startup mit einem Hardwaretimer einen Kalibrierungswert ermitteln und später Anzahl der Schleifendurchläufe damit errechnen (schon besser, nicht wirklich kompliziert) - Einen Hardwaretimer stetig laufen lassen und alle Wartefunktionen durch Vergleich mit einer in der Timer-ISR aktualisierten Variable oder dem Counter-Register selbst mit einem Startwert durchführen (beste Lösung, nicht kompliziert und zuverlässig) Martin Thomas Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|