- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 2 von 2

Thema: encoder-Problem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    01.02.2008
    Beiträge
    32

    encoder-Problem

    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
    Milda
    Alter
    37
    Beiträge
    4.063
    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)
    Read... or die.
    ff.mud.de:7600
    Bild hier  

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress