Go Down

Topic: Tiempo de lectura de digitalRead() ? (Read 743 times) previous topic - next topic

kirec1

Se que cuando se usa AnalogRead() el conversor analogo/digital se tarda 100 microsegundos en hacer su trabajo, por lo que solo se pueden hacer 10,000 lecturas por segundo con analogRead(). Pero no he encontrado informacion de cual es la velocidad de lectura cuando se utiliza digitalRead().

alguien sabe cual es?

carmeloco

Habría que buscarlo en el datasheet.

Link datasheet AtMega 328

De todas formas, debe ser inferior al analogRead, ya que el problema de la lectura analógica, está en que el los pines analógicos, tienen el ADC multiplexado, esto significa que, se comparte entre los diferentes pins analógicos, y el cambio, necesita tiempo, además de que, mientras hace la lectura en el resto de pins, también se pierde tiempo.

surbyte

No es cierto lo que afirmas. Puedes hacer hasta 70000/seg muestras.
Para digitalRead puedes leer hasta 66k/seg pero leyendo el port directamente puede llegar a 2.6Mhz

Aca el articulo

carmeloco

Surbyte, no conozco los números exactos, porque nunca me ha hecho falta, pero lo del multiplexado de los pines analógicos, es correcto, ¿no?

surbyte

No te respondía a ti carmeloco, (error mio por no poner una cita en mi respuesta), sino que rebatia la afirmación de kirec1 sobre las 10000 muestras/seg.

carmeloco

Si, ya se que no me respondías a mi Surbyte, jejeje. Era para confirmar que yo no había dicho ninguna barbaridad  :)

Go Up