====== Communication série USART ======
===== Présentation =====
Le XMega128 a 2 ports serie (USART0 et USART1) avec 8 interfaces possibles : les ports PORTC, PORTD, PORTE et PORTF contiennent chacun 2 USART.
====== Conversion analogique numérique ======
===== Présentation =====
Le XMEGA128A1 contient 8 entrées analogiques avec 2 interfaces possibles : PORTA et PORTB (pin de 0 à 7).
===== Mode =====
==== Mode différentiel ====
==== Mode asymétrique ====
=== Mode signé (signed mode) ===
La tension d'entrée sur ADCx est convertit par rapport à la masse.
=== Mode non signé (unsigned mode) ===
La tension d'entrée est convertit par rapport à Vref/2 - offset
===== Configuration ====
==== Prescaler ====
Dans un premier temps, il faut choisir le prescaler.
/* set ADC prescaler */
ADCB.PRESCALER = ADC_PRESCALER_DIV16_gc;
==== Résolution ====
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;
==== Tension de référence ====
/* ADC reference selection */
ADCB.REFCTRL = ADC_REFSEL_VCC_gc; /* VCC /1.6 */
==== Activation ====
Pour terminer, il faut activer la convertion
/* set the ENABLE bit in CTRLA to enable ADC */
ADCB.CTRLA = ADC_ENABLE_bm;