PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fernsteuerung Asuro (Anfänger)



xchrisx
03.11.2007, 13:41
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:

#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:


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:


#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);

}

damaltor
03.11.2007, 23:48
an sich sollte es reichen, die -h datei einzubinden; die .c datei wird nicht eingebunden.