Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola a todos!!
Mi duda es directa y lo siento si es algo básica: estoy empezando a programar un Atmega16 y me gustaría saber que es eso de los pines triestado, si los tres estados son: de entrada, de salida o alta impedancia, no entiendo como se ponen a alta impedancia. Tampoco entiendo muy bien el concepto de las resistencias de pull-up.
Muchas gracias por vuestras aclaraciones.
Saludos!!
Draracle, (sin mirarme la documentación de Atmega), generalmente los tres estados son "0", "1" y alta impedancia "Z".
La alta impedancia es un pin de entrada con una impedancia (a bajas velocidades una resistencia) de entrada alta (del orden de 1-10M), por lo que circulará muy poca corriente.
Las resistencias de pull-up son resistencias que unen el pin (externamente o internamente) a la alimentación positiva (Vcc) por lo que si no fuerzas un estado "0" el pin estará siempre en un "1" lógico.
Más sobre electrónica básica y digital en:
http://r-luis.xbot.es/
S2
Ranganok Schahzaman
Muchas gracias!!
Feliz año!
En los AVR como los ATmega, hay varias combinaciones de pines posibles, según los registros PORTn y DDRn del puerto. A saber:
Salida:
El bit del registro DDRn correspondiende al pin que quieras poner de salida debe estar a 1. Entoncea habilitas dicho pin como salida, siendo el estado (alto O bajo) un reflejo de lo que pongas en el registro PORTn en dicho bit.
Entrada:
En este caso, el bit mencionado del registro DDRn debe estar a 0 (valor por defecto), y esto de da dos posibles tipos de entrada: alta impedancia (si el mismo bit de PORTn esta a 0) o Pull Up (si el bit de PORTn está a 1). La resistencia equivalente puede ir de unos 8K a unos 50K. Si quieres un PullDown, tienes que configurar la entrada como alta impedancia (habitualmente abreviado HiZ) y poner una resistencia externa entre dicho pin y masa del valor que desees/necesites (10K suele ser un valor habitual).
Espero haberte sido de ayuda.
BeamSpot.