Le XMega128 a 2 ports serie (USART0 et USART1) avec 8 interfaces possibles : les ports PORTC, PORTD, PORTE et PORTF contiennent chacun 2 USART.
Le XMEGA128A1 contient 8 entrées analogiques avec 2 interfaces possibles : PORTA et PORTB (pin de 0 à 7).
La tension d'entrée sur ADCx est convertit par rapport à la masse.
La tension d'entrée est convertit par rapport à Vref/2 - offset
Dans un premier temps, il faut choisir le prescaler.
/* set ADC prescaler */ ADCB.PRESCALER = ADC_PRESCALER_DIV16_gc;
Il faut choisir la résolution (8 ou 12 bits) ainsi que la justification (droite ou gauche)
/* configure 8-bits resolution in signed mode */ ADCB.CTRLB = ADC_RESOLUTION_8BIT_gc | ADC_CONMODE_bm;
/* ADC reference selection */ ADCB.REFCTRL = ADC_REFSEL_VCC_gc; /* VCC /1.6 */
Pour terminer, il faut activer la convertion
/* set the ENABLE bit in CTRLA to enable ADC */ ADCB.CTRLA = ADC_ENABLE_bm;