Hallo zusammen. Ich habe ein kleines Problem mit meinem kleinen Projekt dass ich gerade umsetzen will. Ich hab mir mit einem Atmega16 einen ADC gebastelt. Ich möchte eifach gearde am Pin ADC0 ein Audio-Signal (0-5Volt) einlesen und am Port B an Hand eines R2R Netzwerks wieder ausgeben. Mein Problem ist jetzt, dass er mir nur die unteren Frequenzen (bis ca 500Herz) nach dem R2R Netzwerk hören kann. Ich schließe jetzt mal darauf, dass die Abtastung einfach zu niedrig ist. Nun meine Frage: Kann ich die Abtastung irgendwie erhöhen dass ich das komplette Audio-Frequenz-Spektum nach dem R2R Netzwerk bekomme? So sieht derzeit meine ADC-Initialisierung aus:
1 | void initADC(void) // for ATmega16 |
2 | {
|
3 | ADMUX = 0; |
4 | |
5 | // set the voltage reference to AVCC
|
6 | |
7 | ADMUX = ADMUX | (0<<REFS1 | 1<<REFS0); |
8 | |
9 | // select the desired input channel ADC0 for test
|
10 | |
11 | ADMUX = ADMUX | (0<<MUX2| 0<<MUX1 | 0<<MUX0); |
12 | |
13 | // set the operation mode and enable the adc
|
14 | |
15 | ADCSRA = 1<<ADEN | 1<<ADSC | 1<<ADATE | 0<<ADIF | 0<<ADIE | 1<<ADPS2 | 1<<ADPS1 | 0<<ADPS0; |
16 | }
|
Ich hoffe mir kann jemand bei meinem Problem helfen. Gruß Chris