Hallo, wie kann ich feststellen ob als letzes zb MotorDir(FWD,FWD) oder MotorDir(FWD,RWD) gemacht wurde? also gibt es so eine funktion getmotordir?
ich möchte nämlich eine Funktion changemotordir(unsigned int a,b) bauen.
wenn die funktion zb so aufgerufen wird: changemotordir(1,0) dann soll nur die richtung des ersten motors geändert werden, bei changemotordir(0,1) nur die des zweiten, und bei changemotordir(1,1) beide.
bis jetzt habe ich das noch nicht sinnvoll herausgefunden wie ich das gut programmiere, da das bei mir immer eine riesige case/if schleife gibt =(
bitte helft mir!
Wenn du in der Ausro.c nachguckst steht da flogendes:
Ich kanns zwar nicht testen, weil kein fertiger Asuro, aber jetzt könntest du einfach die PORTD/PORTB varriablen auslesen =)Code:/* Set motor direction */ inline void MotorDir(unsigned char left_dir, unsigned char right_dir) { PORTD = (PORTD &~ ((1 << PD4) | (1 << PD5))) | left_dir; PORTB = (PORTB &~ ((1 << PB4) | (1 << PB5))) | right_dir; }
Bitte korregiren wenn falsch..
mfG
Lesezeichen