Hi Leute,
ich suche jz schon eine ganze Weile nach einer Möglichkeit den
Ad-Wandler des ATMega32 zu programmieren.
Soweit so gut.
Im Netz habe ich zwei Erklärungen mit Beispiel gefunden und habe
versucht mich an diesen entlang zu bewegen um mein eigenes Prog zu
schreiben.
Was will ich machen?
Na ich denke mal, dass dies der Klassiker ist, ein Poti am ADC1 wird
gedreht, und erzeugt eine Spannung an diesem Eingang zwischen 0 und 5V.
Daraufhin soll dann der Port C geschaltet werden, an dem eine
Relaisplatine hängt. Die Relais sollen dann den binären Wert der
Spannung anzeigen.
Ich möchte es auf diese Art und Weise, damit ich erstmal sehe wie der
AD-Wandler hier funzt und um dann weitere Verbesserungen vorzunehmen.
Hier mal den Code den ich geschrieben habe, der aber leider keine
Reaktion am Board zeigt:
1 | #include <avr/io.h>
|
2 |
|
3 |
|
4 | int main(void)
|
5 |
|
6 | {
|
7 | int i=0, t;
|
8 | DDRC=0b11111111;
|
9 | PORTC=0b00000000;
|
10 |
|
11 | while(1)
|
12 | {
|
13 |
|
14 | ADCSRA=0b10000110;
|
15 |
|
16 |
|
17 | ADMUX=0b00000000;
|
18 |
|
19 | ADCSRA|=0b01000000;
|
20 |
|
21 | while(bit_is_set(ADCSRA,ADSC));
|
22 |
|
23 | i=ADCW*5/1023;
|
24 | PORTC = i;
|
25 |
|
26 | }
|
27 | }
|
Vielen Dank im Voraus