mam problem ze skonfigurowaniem przetwornika a/c w atmedze32. pisze w c. jakie wartosci powinny miec rejestry przy inicjalizacji dzialania przetwornika? aref=5V, korzystam z wejścia PA1 (ADC0). wejscie zamierzam uzyc do mierzenia temperatury z LM35
program, odczytuje raczej glupoty niz poprawne wartosci, ale cos sie dzieje...
program, odczytuje raczej glupoty niz poprawne wartosci, ale cos sie dzieje...
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdlib.h>
#include "hd44780.h"
#include "twi.h"
#include "bcd.h"
#include <avr/delay.h>
#include <stdio.h>
#include <avr/sleep.h>
#include <avr/signal.h>
#define ADC_VREF_TYPE 0x40
unsigned int read_adc(void)/**************************************************/
{
ADMUX=0; // určí převáděný kanál
ADCSRA|=0x40; // odstartuje převod
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW/10;
}
int main(void)
{
ACSR=0x80;
SFIOR=0x00;
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x87;
while (1)
{
vysledek = read_adc();
itoa(vysledek,themp,10);
LCD_GoTo(0,1);
LCD_WriteText(themp);
}
return (0);
}