Main Page | File List | Globals

main_uart.c File Reference


Detailed Description

Atmel Corporation

File : main.c Compiler : IAR EWAAVR 2.28a/3.10c Revision :

Revision
1.1
Date :
Date
Wednesday, July 13, 2005 10:43:44 UTC
Updated by :
Author
omella

Support mail : avr@atmel.com

Supported devices : All devices with a ADC can be used. The example is written for ATmega16

AppNote : AVR121 - Enhancing ADC resolution by oversampling

Description : Example of how to use oversampling to increase the resolution. 10-bit result is written to UART after each conversion 16-bit result are written to UART after 4096 10-bit samples

Definition in file main_uart.c.

#include <iom16.h>
#include <inavr.h>

Go to the source code of this file.

Functions

__interrupt void ADCinterrupt (void)
 ADC interrupt routine.
void init_adc (void)
 Enables ADC, Interrupt enabled, ADC-clock=125kHz, VREF=AREF.
void init_counter (void)
 Fast PWM, Clk / 64, Clear OC2 on compare match, 50% duty cycle.
void init_uart (void)
 Initiates the UART, 19.2kbps @ 8MHz cpu-clk., enables transmitter, 8 data, 1 stop, no parity transmitting 8 LSB.
void main (void)
void oversampled (void)
 Compensate errors, scaling result, round up, increase averaged result.
void send (unsigned char result)
 Waits for empty transmit buffer, puts data into buffer and send data.
void write_10bit (void)
 Write conversion result to UART.
void write_16bit (void)
 Write 16-bit result to UART.
void write_ascii (double accumulator)
 Convertnumbers to ASCII and sends the result to UART.
void write_space (void)
 Write 'space' before every 16-bit result.

Variables

double accumulator = 0
 Accumulating 10-bit samples.
double result = 0
 ASCII variable.
short samples = 0
 Counting 10-bit samples.
short temp = 0
 Temporary memory location.
double Vin = 0
 16-bit result


Function Documentation

__interrupt void ADCinterrupt void   ) 
 

Definition at line 47 of file main_uart.c.

References accumulator, and samples.

void init_adc void   ) 
 

void init_counter void   ) 
 

void init_uart void   ) 
 

Definition at line 64 of file main_uart.c.

Referenced by main().

void main void   ) 
 

Definition at line 179 of file main_uart.c.

References init_adc(), init_counter(), init_uart(), oversampled(), samples, and write_10bit().

void oversampled void   ) 
 

void send unsigned char  result  ) 
 

Definition at line 71 of file main_uart.c.

Referenced by write_ascii(), and write_space().

void write_10bit void   ) 
 

Definition at line 133 of file main_uart.c.

References write_ascii().

Referenced by main().

void write_16bit void   ) 
 

Definition at line 141 of file main_uart.c.

References accumulator, and write_ascii().

Referenced by oversampled().

void write_ascii double  accumulator  ) 
 

Definition at line 86 of file main_uart.c.

References result, and send().

Referenced by write_10bit(), and write_16bit().

void write_space void   ) 
 

Definition at line 149 of file main_uart.c.

References send().

Referenced by oversampled().


Variable Documentation

double accumulator = 0
 

Definition at line 27 of file main_uart.c.

double result = 0
 

Definition at line 28 of file main_uart.c.

Referenced by write_ascii().

short samples = 0
 

Definition at line 31 of file main_uart.c.

short temp = 0
 

Definition at line 30 of file main_uart.c.

double Vin = 0
 

Definition at line 29 of file main_uart.c.


Generated on Wed Aug 17 13:45:22 2005 for Oversampling ADC by  doxygen 1.4.3