-         

Ergebnis 1 bis 2 von 2

Thema: Fernsteuerung Asuro (Anfänger)

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.08.2007
    Beiträge
    6

    Fernsteuerung Asuro (Anfänger)

    Anzeige

    Hallo alle zusammen. Ich hab mal eine kleine Fernsteuerung "quick and dirty" zusammen geschrieben.
    Jetzt würd ich gerne einmal wissen wo an meinem Code Verbesserungenspotential steckt.
    Ich habe erst vor ca. 2 Monaten mit Programmieren allg. angefangen.
    Meine erste Idee wär ev. ein struct zu bauen und die unterschiedlichen Funktionen als String in dem struct einzubinden.
    Auch wär eine Frage von mir:"Ist es guter Stil die myasurolib.c so mit einzubinden, oder gibt es eine andere Möglichkeit?

    myasurolib.h:
    Code:
    #ifndef MYASUROLIB_H
    #define MYASUROLIB_H
    #include "asuro.h"
    #include <stdio.h>
    
    void StatusLEDflash (int millisek);
    void BackLEDLeftFlash (int millisek);
    void BackLEDRightFlash (int millisek);
    void BackLEDBothFlash (int millisek);
    void MotorFWD (int millisek);
    void MotorRWD (int millisek);
    void MotorTurnLeft (int millisek);
    void MotorTurnRight (int millisek);
    
    #endif
    myasurolib.c:
    Code:
    void StatusLEDflash (int millisek)
    {
    	int m=0;
    			  StatusLED(GREEN);
    			  for(m=0;m<millisek;m++)
    			  Sleep(72);
    			  StatusLED(OFF);
    			  for(m=0;m<millisek;m++)
    			  Sleep(72);
    }
    
    void BackLEDLeftFlash (int millisek)
    {
    	int m=0;
    			  BackLED(ON, OFF);
    			  for(m=0;m<millisek;m++)
    			  Sleep(72);
    			  BackLED(OFF, OFF);
    			  for(m=0;m<millisek;m++)
    			  Sleep(72);
    }
    
    void BackLEDRightFlash (int millisek)
    {
    	int m=0;
    			  BackLED(OFF, ON);
    			  for(m=0;m<millisek;m++)
    			  Sleep(72);
    			  BackLED(OFF, OFF);
    			  for(m=0;m<millisek;m++)
    			  Sleep(72);
    }
    
    void BackLEDBothFlash (int millisek)
    {
    	int m=0;
    			  BackLED(ON, ON);
    			  for(m=0;m<millisek;m++)
    			  Sleep(72);
    			  BackLED(OFF, OFF);
    			  for(m=0;m<millisek;m++)
    			  Sleep(72);
    }
    
    void MotorFWD (int millisek)
    {
    	int i;
    	MotorDir(FWD,FWD);
    	MotorSpeed(120, 120);
    	for (i=0; i<millisek; i++)
    		Sleep(72);
    	MotorSpeed(0, 0);
    }
    
    
    void MotorRWD (int millisek)
    {
    	int i;
    	MotorDir(RWD,RWD);
    	MotorSpeed(120, 120);
    	for (i=0; i<millisek; i++)
    		Sleep(72);
    	MotorSpeed(0, 0);
    }
    
    
    void MotorTurnLeft (int millisek)
    {
    	int i;
    	MotorDir(RWD,FWD);
    	MotorSpeed(120, 120);
    	for (i=0; i<millisek; i++)
    		Sleep(72);
    	MotorSpeed(0, 0);
    }
    void MotorTurnRight (int millisek)
    {
    	int i;
    	MotorDir(FWD,RWD);
    	MotorSpeed(120, 120);
    	for (i=0; i<millisek; i++)
    		Sleep(72);
    	MotorSpeed(0, 0);
    }
    test.c:
    Code:
    #include "asuro.h"
    #include "myasurolib.h"
    #include "myasurolib.c"
    #include <stdlib.h>
    #include <stdio.h>
    
    int main(void)
    {
    	char *input;
    	char data;
    	input =&data;
    	int x,y;
    	
    	Init();
    	do{
    	x=1000;
    	y=100;
    	
    		SerRead(input,1,0);
    		if(data=='w')
    		{
    			MotorFWD(y);
    		}
    		else if(data=='a')
    		{
    			MotorTurnLeft(y);
    		}
    		else if(data=='d')
    		{
    			MotorTurnRight(y);
    		}
    		else if(data=='s')
    		{
    			MotorRWD(y);
    		}
    		else
    		StatusLEDflash(x);
    	
    	}
    	while(1);
        
    }

  2. #2
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.913
    an sich sollte es reichen, die -h datei einzubinden; die .c datei wird nicht eingebunden.
    kleinschreibung ist cool!

Berechtigungen

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