-         

Seite 1 von 8 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 75

Thema: Einsteiger braucht hilfe bei den 1. Programmen

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384

    Einsteiger braucht hilfe bei den 1. Programmen

    Anzeige

    Erst mal hallo an alle, da ich hier neu bin und schonmal danke im voraus,

    Ich wollte wissen, ob der folgende code richtig ist, da ich grade mit c angefangen habe und das mein erstes programm ist.

    #include "asuro.h"

    int main(void)
    { char befehl[8];
    unsigned char ktaster;
    Init();
    SerRead(befehl,8,0);
    MotorDIR(FWD,FWD);
    MotorSpeed(255,255);

    while(1);{

    ktaster=PollSwitch();
    if (ktaster>7)
    {MotorSpeed(180,60);}
    else
    {MotorSpeed(60,180);}
    }
    return 0;}

    int main(void)
    { unsigned int odata[2];
    init();
    OdometrieData(odata);
    if (odata<1023)
    {SerWrite("Wir fahren",9);}
    else
    {SerWrite("Wir fahren nicht",14);}
    while(1);
    return 0;}

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    was mir so auf die schnelle einfällt
    (1) nimm bitte den code button wenn du code postest
    (2) du hast zweimal die main funktion

    was soll dein programm eigentlich genau machen?

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384
    zu 1) werd ich mir merken und zu 2) werde ich ändern und er soll auf befehl "fahr los" los fahren dann wenn er irgendwo gegesstößt die richtung ändern und danach die odo leds checken und wenn die merken das er fährt "wir fahren" senden und wenn nciht dann "wir fahren nicht" senden.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    Code:
    OdometrieData(odata);
    if (odata<1023)
    {SerWrite("Wir fahren",9);}
    else
    {SerWrite("Wir fahren nicht",14);}
    das wird ztu 100% nicht funktionieren.

    er wird dir immer ausgeben, dass er fährt.
    mt der funktion OdometrieData() wird NICHT DIE DREHZAHL GEMESSEN.
    die drehzahl musst du dir erst selbst ausrechnen. gibts hier n paar threads dazu.

    mfg EDH

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384

    Danke

    Danke für die Info

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    eventuell wäre da jetzt sogar ein einsatzweck für diese multitasking.
    in einem thread wird der motor gesteuert
    im anderen thread "wir fahren" bzw "wir fahren nicht" ausgegeben

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384
    oha wir wollen mal lieber nichts überstürzen^^

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384

    Besser?

    Sieht das besser aus? Ich hab den code jezt nochmal überarbeitet

    Code:
    #include "asuro.h"
    
    int main(void)
    {	char befehl[8];
    	unsigned char ktaster;
    	Init();
    	SerRead(befehl,8,0);
    	MotorDIR(FWD,FWD);
    	MotorSpeed(255,255);
    	
    	while(1);{
    	
    		ktaster=PollSwitch();
    		if (ktaster>7) 
    		{MotorSpeed(180,60);}
    	else 
    		{MotorSpeed(60,180);}
    	}
    	return 0;
    
    
    	void abfrage(void) {
    	unsigned int odata[2];
    	init();
    	OdometrieData(odata);
    	if (odata<1023)
    			{SerWrite("Wir fahren",9);}
    	else
    			{SerWrite("Wir fahren nicht",14);}
    	while(1);
    	return 0;}
    }

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    01.11.2006
    Beiträge
    433
    mhh...
    also genaugenommen sieht der code immer noch ziemlich scheps aus

    aber ich glaube nicht das es jetzt was bringt, wenn ich erklär was falsch ist, oder den berichtigten code poste.


    hast du die asruo anleitung GENAUESTENS studiert?
    da steht ja nicht wirlich viel über c drinn. aber das was man am anfang für den asuro braucht ist vorhanden.
    vieleicht solltest du lieber erst selber programme schrieben, wenn du alle beispiele auswendig kannst.

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384
    Naja ich hab die anleitung durchgelesen ich kann sie nich auswendig aber ich meine dass ich sie verstanden habe. ABer es kann auch sien dass ich nur denek das ich sie verstanden habe, aie allerdings gar nicht wirklich verstanden habe^^ Aber ich fänd es nett wenn du mir vllt den richtigen code posten würdest (wenn es keine Umstände macht), dann kann ich besser sehen was ich falsch mache.

Seite 1 von 8 123 ... LetzteLetzte

Berechtigungen

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