Hallo. Bin gerade dabei mir ein bißchen Quellcode ausm Internet klar zu machen. Hab schon einiges im Datenblatt gedunden, ein paar Sachen kapier ich immer noch nicht. Hier mal der Code: #define ADC_VREF_TYPE 0x40 unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input|ADC_VREF_TYPE; // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; } Erstmals Wow. Man kann echt viel ausm Datenblatt erkennen, auch wenn man kein Vorwissen hat. Mir bleiben aber noch zwei Fragen: 1. Warum stellt er AREF auf ne externe Kapazität? Was bringt das. Ich hät einfach Aref benutzt. Greif meine Spg eh parralell zu nem beliebiegen Widerstand ab. 2. Was ist ADCW? Das find ich im Datenblatt nicht. Warscheins hald mein Ergebnis =) aber naja. 3. Kann ich auch negative Spannungen messen? Meine Ausgabe is ja unsigned. Oder wird das mit dem ersten Bit der Ausgabe übermittelt, ob die negativ ist. Danke schon mal
1: Jeder benutze die Referenz die er braucht. 2: ADCW = ADC Datenregister als 16bit Wort. 3: Negativ: bezogen auf GND nicht, bezogen auf einen anderen Analogeingang ja (Messung der Differenz zwischen 2 Analogeingängen, kann nicht jeder AVR).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.