-
        

Ergebnis 1 bis 2 von 2

Thema: encoder-Problem

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    01.02.2008
    Beiträge
    32

    encoder-Problem

    Anzeige

    Hallöchen, ich wollte mich mal mit dem encoder versuchen. Das Programm aus der Docu geht, Asuro fährt seine 500 vorwärts.
    Ich wollte den Asuro fahren lassen bis er irgenwo dagegen fährt, und dann die encoderwerte ans terminal senden. Hier der Code:
    Code:
    #include "asuro.h"
    
    int main (void)
      {
        Init();
        EncoderInit();
    	
    	MotorDir(FWD,FWD);
    	MotorSpeed(100,100);
    	
    	UCHAR PS[3];
    
        while (1)
        {
    	
          	PS[0]=PollSwitch();	PS[1]=PollSwitch();	PS[2]=PollSwitch();
    		if(PS[0]!=0 && PS[0]==PS[1] && PS[0]==PS[2])
    			break;
        }
    	
    	StatusLED(YELLOW);
    	PrintLong(encoder[0]);
    	SerPrint(" ");
    	PrintLong(encoder[1]);
    	SerPrint("\r\n");
    	
    	EncoderStop();
    	StatusLED(RED);
    	MotorSpeed(0,0);
    	while(1);
        return 0;
      }
    (UCHAR ist als unsigned char definiert)

    Am Ende erhalte ich immer nur "0 0" "0 2" oder "0 1".
    Was mach ich falsch???

  2. #2
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.912
    sind die encoderwerte nicht integer und keine LONGs?
    du musst den encoder noch auf 0,0 setzen, ich glaube das geht mit Encoder_Set(0,0); (würds aber nicht beschwören, ist lange her dass ich das das letzte mal benutzt hab)
    kleinschreibung ist cool!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •