| Lillo | 07 gennaio 18 11:30 | Citazione:
Originalmente inviato da gawain
(Messaggio 5080698)
bisogna guardare il codice nel dettaglio... forse non hanno disabilitato l'interrupt che Arduino usa per la funzione micros() . comunque per scrivere le uscite per 16 servi hanno fatto i salti mortali. io mi sono fatto un Flight controller dedicato agli alianti in special modo f3k e per aver un timing perfetto al microsecondo senza collisioni devi segare tutte le librerie di Arduino scrivere le porte direttamente come bytes esempio PORTD^=(PULSE_MASK & ENABLE_MASK) questo oggetto crea fonti di salita e discesa sequenziali con pulsemask avente due bit sequenziali a 1 e shifta di una posizione ad ogni comparazione raggiunta del timer...ma così hai il limite di una porta se non vuoi fare schifezze... | Non credo che siano tanti ad utilizzare tutte le porte del decoder. Magari riducendo il numero di porte 8-12 aumentano le risorse a disposizione e si evitano i problemi.
Comunque la rogna principale resta la forzatura a zero delle porte. |