-         

Ergebnis 1 bis 2 von 2

Thema: Probleme mit Asuro-Programm

  1. #1
    Neuer Benutzer
    Registriert seit
    04.05.2008
    Alter
    25
    Beiträge
    3

    Probleme mit Asuro-Programm

    Anzeige

    Moinsen zusammen,

    ich hab mit meinem Programm für Asuro ein Problem: Programmers
    Notepad kann es ohne Error in eine .hex-Datei umwandeln, allerdings
    passiert immer dasselbe, egal welchen Taster man drückt, obwohl das
    doch eigentlich im Programm ausgeschlossen wird. An Lötfehlern dürfte
    es nicht liegen, da das Testprogramm reibungsfrei läuft.
    Kann mir da vielleicht jemand helfen? Danke schonmal

    ZDig

    #include "asuro.h"

    int main(void)
    {
    Init();
    if (PollSwitch()<4){
    MotorDir(RWD,RWD);
    MotorSpeed(120,120);
    MotorDir(FWD,BREAK);
    MotorSpeed(120,0);
    StatusLED(RED);}
    if (PollSwitch()>={
    MotorDir(RWD,RWD);
    MotorSpeed(120,120);
    MotorDir(BREAK,FWD);
    MotorSpeed(120,0);}
    else {MotorDir(FWD,FWD);
    MotorSpeed(120,120);
    StatusLED(GREEN);}

    while(1);
    return 0;
    }

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Dein Programm wird genau einmal ausgeführt bevor es am Ende in der Endlosschleife vor dem return() steckenbleibt. So wäre es vielleicht besser:
    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	Init();
    	while(1) // Start der Endlosschleife
    	{
    		if (PollSwitch() < 4)
    		{
    			MotorDir(RWD,RWD);
    			MotorSpeed(120,120);
    			MotorDir(FWD,BREAK);
    			MotorSpeed(120,0);
    			StatusLED(RED);
    		}
    
    		if (PollSwitch() >= 8)
    		{
    			MotorDir(RWD,RWD);
    			MotorSpeed(120,120);
    			MotorDir(BREAK,FWD);
    			MotorSpeed(120,0);
    		}
    		else
    		{
    			MotorDir(FWD,FWD);
    			MotorSpeed(120,120);
    			StatusLED(GREEN);
    		}
    	} // Ende der Endlosschleife
    
    	return(0);
    }
    In [ code][ /code]-Tags wäre dein Programm für uns übrigends besser lesbar. Auf die häufig lügende PollSwitch()-Funktion, die Anwendung von "else if" oder auf Zeitverzögerungen möchte ich hier noch nicht näher eingehen. Vielleicht findest du das alles noch selbst raus ;)

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Berechtigungen

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