bene... vi spiego cosa vorrei realizzare a questo punto... (nel frattempo sto spulciando il post di menniti sulla barriera ad infrarossi...)
Ho intenzione di scrivere un driver per un display lcd 320x240 sharp che mi è capitato sottomano (c'è un mio post di qualche giorno fa a riguardo).
Ho trovato i datasheet,li ho studiati, ho trovato anche un modo per semplificarmi la vita, ma fa uso di un processore motorola che possiede il controller integrato per questi lcd (con un package per me impossibile da sfruttare...); e mi sono reso conto con certezza che il display va pilotato così com'è, senza altra elettronica da aggiungere...
La storia è questa, l'lcd è a matrice di punti, e si comanda scrivendo 4 bit per volta (D0, D1,D2,D3). Ci sono i valori CP1, CP2 ed S che bisogna portare in stato logico alto, rispettivamente ogni riga, ogni punto e ogni schermata (dopo la prima linea, per quest'ultimo).
In totale, S ha periodo di 14 ms; CP1 di 58 us e CP2 di 725 ns. Tali conclusioni vengono tratte dai riferimenti al datasheet, secondo il quale per un refresh massimo di 14 ms (periodo di S), risulta:
CP1 = S / 240
CP2 = CP1 / 80
La durata dello stato logico HIGH per CP1 e CP2 deve essere tra 60 e 130 ns. Per S può arrivare quasi al doppio...
Ora, visto che da software non riuscivo a mantenere questi standard di tempo (ovviamente mi verrebbe da dire...) ho pensato al pwm; il problema è: riesce arduino a darmi un periodo di 725 ns su un timer e 58 us su un altro (S lo gestisco in altro modo...)??
Mi verrebbe da pensare anche, quanto tempo ci metto a mandare i 4 bit all'lcd?
seppe