====== 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;