-
-
Erfahrener Benutzer
Roboter-Spezialist
Hi,
aha, ganz so schlimm ist Dein Unwissen also doch nicht 
Wenn Du die INT dafür frei hast, kannst Du das auch so machen. Was ich meinte, war einen Timer IRQ laufen lassen (also die Eingänge praktisch zu pollen). Bei 0,3ms ist aber ein INT wirklich besser.
Wenn der IRQ bei jedem Impuls eine Variable um 1 hochzählt, belastet das den Controller normalerweise mit 0,xxx %.
Bleiben wir mal bei deinem Zahlenbeispiel= 300 us pro Impuls. Wenn Der Controller (mal was langsames) mit 1MHz läuft, brauchts dazu max 10us. Das wären (mal sehr ungünstig gesehen) 3% Prozessorlast.
Da würde ich mir keine Gedanken machen. Ich habe hier eine 3-Achsensteuerung mit 3 richtigen Encodern, I2C und RS232 und der ATMega langweilt sich immer noch.
Wenn Du Dich nicht so lange in einer ISR aufhältst, verlierst Du keinen IRQ. Das passiert nur, wenn Du in der ISR bist und der gleiche IRQ während dieser Zeit wieder ausgelöst wird.
Gruß
pctoaster
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen