PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : richtung des motors feststellen?



vsilverlord
21.06.2009, 12:07
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!

M1C
21.06.2009, 12:54
Wenn du in der Ausro.c nachguckst steht da flogendes:



/* 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;
}


Ich kanns zwar nicht testen, weil kein fertiger Asuro, aber jetzt könntest du einfach die PORTD/PORTB varriablen auslesen =)

Bitte korregiren wenn falsch..

mfG