-         

Ergebnis 1 bis 6 von 6

Thema: Atmega 8; Taster die ganze Zeit ansprechen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    05.01.2007
    Ort
    Göttingen
    Alter
    27
    Beiträge
    30

    Atmega 8; Taster die ganze Zeit ansprechen

    Anzeige

    Hi liebe Leute,

    also ich (ein Anfänger) versuche gerade für den Asuro ein Programm mit C zu schreiben. Mit Programmers Notepad.
    Code:
    #include "asuro.h"
    
    unsigned char Motor;
    int main(void)
    {
    	Init();
    	Motor=255;
    	MotorDir(FWD,FWD);
    	MotorSpeed(Motor,Motor);
    	 { 
    	  if     (PollSwitch()>0)
    	        {
    		     StatusLED(RED);
    		    }
    	  else {
              	 StatusLED(GREEN);
                }			 
     	 }
    	  
    	while(1);
    	return 0;
    }
    Er funzt einwandfrei, aber was muss ich schreiben, damit er nicht nur ganz am Anfang die Taster anspricht, sondern die ganze Zeit.
    Also wenn ich ihn anmache und sofort auf nen Taster drücke, wird die Led Rot, aber wenn ich erst nach 2 Sek draufdrücke, passiert gar nix mehr. Wie kann ich das ändern?
    Ich hoffe ihr könnt mir helfen.

    Mit freundlichen Grüßen
    Momchilo

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.897
    Bin zwar auch C- Anfänger, aber wie ich das sehe wird deine Rotine zur Tastenabfrage doch nur einmal durchlaufen und zwar im Init im Main Programm.
    Wenn du den Teil mit der Tastaturabfrage nach while(1) legst wird er ständig wiederholt und das willst Du ja.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801

    Re: Atmega 8; Taster die ganze Zeit ansprechen

    Code:
    	while (1)
    	{ 
    		if (PollSwitch() > 0)
    		{
    			StatusLED (RED);
    		}
    		else
    		{
    			StatusLED (GREEN);
    		}			 
    	}
    Disclaimer: none. Sue me.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    05.01.2007
    Ort
    Göttingen
    Alter
    27
    Beiträge
    30
    Hi Leute,
    sorry das ich jetzt erst schreibe, aber der Strom war ausgefallen.
    Vielen Dank mehr wollte ich gar nicht wissen.
    Nun kommt der nächste Schritt :P

    MfG
    Momchilo

    @edit
    es funzt doch noch nicht
    Code:
    #include "asuro.h"
    
    unsigned char Motor;
    int main(void)
    {
    	Init();
    	Motor=255;
    	MotorDir(FWD,FWD);
    	MotorSpeed(Motor,Motor);
    	 
    	while(1);
    	{ 
    	  if     (PollSwitch()>0)
    	        {
    		     StatusLED(RED);
    		    }
    	  else {
              	 StatusLED(GREEN);
                }			 
     	 }
    
    	  
    	return 0;
    }
    so fährt er immer gerade aus und die StatusLed ist immer grün, egal wann
    auf einen Taster drückt.

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Der ; hinter dem while ist mal nicht aus meiner Schmiede...
    Disclaimer: none. Sue me.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    05.01.2007
    Ort
    Göttingen
    Alter
    27
    Beiträge
    30
    Hey ohne";" gehts
    Vielen Dank Sprinter
    MfG
    Momchilo

Berechtigungen

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