Cześć, chcę odczytać wartość (analogową) z pinu PC1 mikrokontrolera Atmega8A. Robię tak jak autor poradnik z drobnymi modyfikacjami dotyczącymi portów. Dlaczego wyrzuca mi błąd 43 linii, że nie zadeklarowano tych dwóch rejestrów? Czy ten kod da mi zamierzony efekt, jeżeli tak to jak mam zapisać odczytaną wartość do zmiennej.
/*
Program to control Atmega8A
*/
#define F_CPU 8000000L
#include <avr/io.h>
#include <util/delay.h>
#include <hd44780.c>
int main(void)
{
char buffer[33];
uint8_t temperature;
// Insert code
DDRB |= (1 << PB0);
LCD_Initalize(); // Toggle LED
SetupADC();
while(1)
{
LCD_Clear();
LCD_GoTo(2,0);
LCD_WriteText("Temperatura : ");
LCD_GoTo(5,1);
LCD_WriteText("10");
LCD_WriteText(" C");
_delay_ms(500);
PORTB |= (1 << PB0);
_delay_ms(1000); // delay 1 second
PORTB &= ~(1 << PB0);
_delay_ms(1000); // delay 1 second
}
return 0;
}
void SetupADC()
{
ADMUX = (1<<REFS0) | (1<<MUX0);
ADCSRA = (1<<ADEN) | (1<<ADIE)| (1<<ADPS0) | (1<<ADPS1) | (1<<ADPS2);
DIDR0 = (1<<ADC5D);
startConversion();
}
void startConversion()
{
ADCSRA |= (1<<ADSC);
}
ISR(ADC_vect)
{
dutyCycle = ADC;
startConversion();
}