Gast
#831351
Nabend!
Ich bin ein interessierter Anfänger was die Microcontroller angeht.
Für heute hatte ich mir vorgenommen mit dem integrierten AD-Wandler des
ATMega32 zu arbeiten und die Daten dann über UART zum PC zu senden.
Orientiert habe ich mich dabei an den Artikeln hier aus dem Forum.
Kurzum ich habe den Schleifer eines Potis an den ADC0 Eingang des
Controllers gelegt und die anderen beiden Anschlüsse an VCC sowie GND.
AREF beträgt ebenfalls 5V.
Nun habe ich das Problem das ich mit dem Terminalprogramm immer nur "FF"
empfange, egal wie ich das Poti verändere.
Könnt ihr mir sagen was ich falsch mache?
Anbei der Code:
#include <avr/io.h>
#include <inttypes.h>
#include <stdio.h>
#define BAUD 19200UL
#define UBRR_BAUD ((F_CPU/(16UL*BAUD))-1)
void uart_init(void) // USART initialisieren
{
UBRRH = (uint8_t) (UBRR_BAUD>>8);
UBRRL = (uint8_t) (UBRR_BAUD & 0x0ff);
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
}
int main(void)
{
int buffer;
int i;
ADCSRA = (1<<ADEN)|(1<<ADSC);
while ( ADCSRA & (1<<ADSC) )
{
;
}
buffer=ADCW;
//------------------------------------------------------------------
uart_init(); // UART initialisieren
while ( !( UCSRA & (1<<UDRE)) )
{
;
}
UDR = buffer;
}
Ich hoffe ich habe Euch keine essentiellen Informationen unterschlagen
;)
Gruß