@flipper
posso chiederti che modulini hai preso e dove li hai presi ?
quasi quasi una coppia li prendo anche io =P
@deluca, certo manchester e' migliorativo, sopratutto per questo genere di cose
ma direi anche: ottimo! significa che AVR8 per fare softuart e' meglio dei PIC
perche' l'accrocchio di cui parlavo, usando un pic con clock interno (tanto per risparmiare anche su quello)
ha delle rognette di drift, e guarda un po' cosa mi tocca fare
- Code: Select all
(sotto linux) myuart-pcmcia-config /dev/ttyS0 uart 16550A port 0x400 irq 58 baud_base 921600 caldrift 0xa3
in pratica i furbastri per farti pagare solo $10 un modulino pcmcia (che da Manathan come minimo paghi 60 euro)
usano un pic molto economico sprovvisto di seriale fisica implementano softuart
e spacciano ai driver di linux il modulino come se fosse "16550A"
mappato (nel mio caso, su portatile Apple/PPC) all'indirizzo 0x400 usando interrupt 58
poi come vedi tocca settare il baud base dell'oscillatore locale, ma anche dargli un valore di correzione pari ad 0xa3
in pratica 0xa3 viene caricato nei registri del pic preposti alla compensazione, e come se fosse calibrazione da fabbrica
e ogni tanto mi tocca ri calibrarlo, specialmente per baud rate o troppo bassi (p.e. 300bps) o troppo alti (p.e. 115200bps)
i valori di fabbrica mi funzionano bene da 4800bps a 38400bps, praticamente i bitrate di maggior uso
sopra o sotto questi bitrate devo ricalibrare, cosa che faccio richiamando lo scriptino con caldrift diversi
dopo tutto funziona, e per quello che costa funziona anche bene; geniali i cinesi, no ?
e ora che lo so, quasi quasi copio i cinesi, tolgo il pic e metto un avr8, poi metto tutto in rete
cosi' al prossimo giro di iterazione su chi copia meglio loro migliorano il loro lavoro