-
-
Neuer Benutzer
Öfters hier
Hallo Rabenauge,
du hast Recht. So
sharpResult = analog_samples[3];
funktioniert es nicht. Ich habe leider versäumt es zu testen.
Richtig müsste es heissen
sharpResult=analog_getValue(ANALOG_EXT3);
Im Kopf deines Programms muss natürlich
#include <nibobee/analog.h>
rein und zu Beginn des Hauptprogramm die Zeile
analog_init();
Damit gibt es keine Fehlermeldungen mehr und deine Zeile
int analog_samples[10];
kann raus.
Ob damit das Problem mit der Auflösung des Abstands ebenso erledigt ist,
musst du ausprobieren.
Es gibt nämlich ein Problem bei dieser Methode. Wie ich schon schrieb wurschtelt der AD-Wandler fröhlich in seinem Interrupt vor sich hin. Wenn deine Abstandsroutine nun eine gewisse Synchronität erwartet (z.B. die LED wird eingeschaltet und dann soll gemessen werden), dann musst du dem AD-Wandler genügend Zeit geben, denn er könnte ja gerade dabei sein, alle anderen Kanäle abzuklappern.
Wenn es nicht funktioniert, dann hilft nur, die AD-Wandlung von ADC3 zu Fuss zu machen und deine Routine so einzubinden, wie ich es in der letzten Antwort beschrieben habe.
Eine weitere Möglichkeit wäre dann auch ganz auf die Nibobee AD-Wandlung zu verzichten.
Denn dann hast du die Batteriemessung und die ADC3-Messung schon zu Fuss gemacht und die Nibobee AD-Wandlung macht eigentlich nur noch die Wandlung der Liniensensoren. Die kann man dann auch noch zu Fuss machen.
Also kein
analog_init();
mehr und alles zu Fuss.
Viel Erfolg
Skroete
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen