Hallo, gibt es eine delay-FUnktion in WINarm wie bei WINavr?? Wenn nicht, gibt es die vielleicht schon als lib oder so?? Gruss world
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.