Hi Mic,
erstmal danke für deine Meinung und deine Tipps!
Da ich die Geschichte mit der Bitprogrammierung und den Registern hab ich noch nicht richtig verstanden. Dehalb probiere ich jetzt erstmal mit den vorprogrammierten Libaries rum. Außerdem wollte ich dieses Programm als Übergangsprogramm für diese Tastergeschichte nehmen.
Der Integerwert (65000) wird doch sowieso bei dem erstendurchlauf der Schleife runtergesetzt.
Das mit der Hochdrehpause ist doch dann so ne Sleep-Geschichte oder?
Eigendlich könnte man diese sprintf- und SerWritefunktionen auch weglassen.
Im Grunde hab ich doch das ganze Programm zu kompliziert gemacht. Es reicht doch, wenn man es so schreibt:
Eigendlich funktioniert da jetzt auch gut.Code:/*Asuro fährt geradeaus und misst die Helligkeit der Readsensoren*/ #include <asuro.h> int main(void) { unsigned int durchlauf; unsigned int umdrehung=0; //Ist wichtig zu zaehlen der Umdrehungen unsigned int zaehler=0; //Ist wichtig zu zaehlen der verschiedenen Felder unsigned int zeit; //Ist wichtig fuer die Pausen unsigned int data[2],data_neu[2]; Init(); while(1) { MotorDir(FWD,FWD); //Asuro fäht sehr langsam fuer genaue Messungen MotorSpeed(150,160); OdometrieData(data); //Das aktuelle Feld wird erfasst for(durchlauf=0;durchlauf>=1000;durchlauf++) { sleep(36); } OdometrieData(data_neu); //Das aktuellere Feld wird erfasst if(data[1]!=data_neu[1]) //und mit dem aktuellem Feld verglichen { //wenn es anders war wird das zu der Anzahl der veränderten Felder addiert zaehler++; SerWrite("zeahler++\n\r",11); //Dieses TOPEREIGNISS wird natürlich weitererzählt } if(zaehler>=24) //Wenn 24 Änderungen erfasst wurden { umdrehung++; //Haben sich die Räder einmal gedreht SerWrite("Umdrehung++\n\r",14); //Auch dieses TOPEREIGNISS wird natürlich weitererzählt zaehler = 0; } if(umdrehung>=4) //wenn sie sich denn 4 mal gedreht haben { MotorSpeed(0,0); for(zeit=0;zeit<4000;zeit++) //Vier Sekunden stillstand { Sleep(36); } umdrehung = 0; SerWrite ("Das waren 4 Umdrehungen!\n\r",26); } } while(1) return 0; }
Falls du Verbesserungvorschläge, Zeit und auch noch Lust hast bitte ich dich mir von diese zu berichten.







Zitieren

Lesezeichen