da
TardoFreak » 14 ago 2013, 10:58
Si,
Poniamo il caso di avere 10 buffer (80 ingressi), ogni 500 us, all' interno della interrupt:
- Trasferisco i 10 bytes immagine degli ingressi letti precedentemente nella tabella degli stati precedenti.
- Leggo tutti i buffer e metto il loro stato nella tabella degli stati attuali.
- Eseguo 10 operazioni di xor fra i bytes dgli stati precedenti con i corrispondenti degli stati attuali. Se il bit di risultato è 1 vuol dire che il corrispondente ingresso ha commutato, mandato in and con l' ingresso avrò un 1 solo se la commutazione è stata da 0 a 1, ma eseguo tale operazione solo se il bit che mi indica una commutazione è a zero. In questo modo tengo traccia delle commutazioni fino a quando non la servirò. A quel punto, da software dopo averla servita, azzererò il bit che mi indica la commutazione.
Questo perché mi pare di capire che deve tenere traccia delle commutazioni ma ha la possibilità di servirle in differita (ha detto che il tempo di risposta non ha importanza).
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.