2 votos

Puerto Xmega Lectura/Escritura

¿Cómo acceder directamente al Pin para leer o escribir datos? Si quiero escribir datos en el pin6 ¿cómo puedo hacerlo? O si quiero leer datos de un pin específico.

5voto

Bash Puntos 1680

En este punto asumo que estás usando C. Te sugiero que leas las notas de aplicación de Atmel AVR1000, AVR1313 y por supuesto la hoja de datos del XMEGA.

El acceso a puertos para XMEGA es bastante fácil en comparación con los tipos ATMEGA normales, ya que hay registros dedicados para configurar/borrar/obtener/activar pines IO. Además, hay máscaras de bits predefinidas (sufijo _bm), por lo que no es necesario realizar el cambio de bits en la mayoría de los casos. Ten en cuenta que todavía tienes que realizar la configuración inicial de puertos/pines. Tomemos como ejemplo el pin 6 del puerto A.

PORTA.OUTSET = PIN6_bm;   // set to high
PORTA.OUTCLR = PIN6_bm;   // set to low
PORTA.OUTTGL = PIN6_bm;   // toggle state

// Get state of PA6 configured as OUTPUT as boolean:
bool pinState = (PORTA.OUT & PIN6_bm) == 0 ? false : true;

// Get state of PA6 configured as INPUT as boolean:
bool pinState = (PORTA.IN & PIN6_bm) == 0 ? false : true;

Quizá esto ayude a empezar.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X