-
-
Erfahrener Benutzer
Roboter Experte
Hallo JeyBee,
hab mir den Code nur oberflächlich angeguckt, aber da fallen einige Fehler auf:
1. Das Speichern des SREGs in der ISR wird vom Compiler automatisch gemacht und ist unnötig.
2. warum werden in readADC vier verschiedene Result-Variablen angelegt? Einer reicht doch, zudem jede der vier Variablen zu jeder Zeit den gleichen Wert hat!
3. if(result0 >=300, result1 >= 300, result2 >= 300) :
Die Kommas machen nicht das, was Du denkst. Es wird nur geprüft, ob result2 >= 300 ist. Was Du willst ist eine logische Und-Verknüpfung, also
if((result0 >=300) && (result1 >= 300) && (result2 >= 300))
Noch ein kleiner Tipp: Lass die Schleife in readAdc bis 4 laufen. Dadurch muss der summierte Wert später durch 4 geteilt werden, was einfach nur ein rechtsshift um 2 ist. Das ist viel schneller als das Teilen durch 3.
MfG Mark
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen