Lectura / Escritura del puerto Xmega

2

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

    
pregunta electronics

1 respuesta

5

Supongo que en este momento estoy usando C. Le sugiero que lea las notas de aplicación AVR1000, AVR1313 de Atmels y consulte la hoja de datos de XMEGA, por supuesto.

El acceso al puerto para XMEGA es bastante fácil en comparación con los tipos ATMEGA normales, ya que hay registros dedicados para configurar / borrar / obtener / alternar los pines IO. Además, hay máscaras de bits predefinidas (sufijo _bm), por lo que no es necesario realizar cambios de bits en la mayoría de los casos. Tenga en cuenta que todavía tiene que realizar la configuración inicial de puerto / pin. Vamos a tomar el puerto A pin 6 para un ejemplo simple.

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;

Tal vez esto ayude a comenzar.

    
respondido por el Rev1.0

Lea otras preguntas en las etiquetas