Hallo,
ich möchte mit meinem AT Mega 32 über den ersten Analog Digital
Converter ein Analoges Signal einlesen, dieses Umwandeln und an Pin B in
Binerform wieder ausgeben.
Das Problem ist jedoch das ich nicht genau weis wie ich den ADC
Programmieren muss. Der ADC Takt soll 100kHz sein.
Ich habe mal versucht ein Programm zu erstellen, was mir aber nicht so
richtig gelungen ist.
Hier das Programm:
1 | #include <avr/io.h>
|
2 |
|
3 | uint8_t Wert = 0;
|
4 |
|
5 |
|
6 | void Ausgabe ()
|
7 | {
|
8 | PORTB = Wert;
|
9 | }
|
10 |
|
11 |
|
12 | int main (void)
|
13 | {
|
14 |
|
15 | // I/O Konfig.
|
16 | DDRB = 0b11111111; // Ausgänge
|
17 | DDRA = 0b00000000; // Eingänge
|
18 |
|
19 | // ADC Konfig.
|
20 | ADMUX |= (1<<MUX0); //Welecher ADC benutzt wird
|
21 | ADCSRA |= (1<<ADEN) | (1<<ADSC) | (1<<ADATE) | (1<<ADPS2);
|
22 |
|
23 |
|
24 | while (1)
|
25 | {
|
26 | Wert= MUX0;
|
27 | Ausgabe;
|
28 | }
|
29 |
|
30 |
|
31 | }
|