Hallo alle zusammen, ich habe ein Problem und habe dazu keine passenden Threads im Forum gefunden, die mir weiter helfen. Ich möchte mit Hilfe von Timer/Counter die pro Sekunde empfangenen Bits (über SPI, CAN) zählen. Die Timereinstellungen, um immer eine Sekunde zu zählen, sind kein Problem, das funktioniert. Leider fehlt mir als Neuling in dem Bereich aber gerade das nötige Knowhow, um die richtigen Einstellungen (welche Register, Timer, Interrupts, ...) zu setzen , die ich benötige, um jedes einzelne ankommende Bit zu zählen. Erst wollte ich jedes Wechseln von 0 auf 1 und anders herum nutzen, aber da werden ja sicherlich mehrfach hintereinander gesendete gleichwertige Bits ignoriert... Ich benutze den AT90CAN128 mit einem 16 MHz Quarz. Kann mir vielleicht jemand weiter helfen??? Danke schon einmal...
>um jedes einzelne ankommende Bit zu zählen.
Das sind beides Byte- bzw. Frame-orientierte Datenformate.
Du kannst höchstens deinen Zähler jeweils um 8 bzw. Canframe-Längen-Bits
erhöhen...
Ich befürchte sowas... Hab überlegt, ob man es allgemein halten kann, um es für beides zu benutzen, SPI und CAN. Welche Timer/Counter Einstellungen empfiehlst Du?
>Welche Timer/Counter Einstellungen empfiehlst Du?
Keinen. Du zählst einfach in der ISR zum CAN-Receive und SPI-Receive
eine Variable hoch.
Sobald deine Sekunde um ist, gibst du diese Zahlen aus (oder
verarbeitest sie wie du magst) und setzt sie dann zurück.
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.