Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie Programmiere ich PollSwitch
giftzwerg95
05.02.2010, 18:09
Hallo
Ich habe mir letztens den Asuro Roboter gekauft und zusammengebaut. Beim Programmieren kriege ich eigentlich alles hin, bis auf das mit den Tastern. Bitte helft mir!!
Gruß Giftzwerg
Hallo
Wie genau soll denn die Hilfe aussehen?
Bitte formuliere die Frage etwas genauer damit man dir helfen kann ;)
Gruß Thund3r
giftzwerg95
06.02.2010, 11:43
Ich würde es gern mal hin kriegen das wenn er irgendwo gegen fährt, dreht und dann wieder weiter grade aus fährt. Das würde mir schon reichen.
Hallo
Hier ein Kollisionsprogramm ist eig. selbsterklärend:
#include <asuro.h>
int main (void)
{
Init();
int p;
while(1){
MotorDir(FWD,FWD);
MotorSpeed(125,125); // Fahre geradeaus
if(PollSwitch()>=8 ) //Wenn eine Seite der Taster berügrung meldet
{
MotorDir(RWD,RWD);
MotorSpeed(125,125); //Fahre ein Stück zurück
for(p=0;p<300;p++)
{Sleep(72);}
MotorDir(BREAK,RWD); //Und dreh dann von der getasteten Seite weg
MotorSpeed(0,125);
for(p=0;p<1000;p++)
{Sleep(72);}
}
if((PollSwitch()<8 && PollSwitch()>1)) // Gleiches wie oben nur für die andere Seite
{
MotorDir(RWD,RWD);
MotorSpeed(125,125);
for(p=0;p<300;p++)
{Sleep(72);}
MotorDir(RWD,BREAK);
MotorSpeed(125,0);
for(p=0;p<1000;p++)
{Sleep(72);}
}
}
while(1){}
return 0;
}
Ein Taster wurde bewusst "igoriert" da hin und wieder mal 1 zurückgegeben auch wenn der zugehörige Taster nicht gedrückt wurde.
Gruß Thund3r
giftzwerg95
07.02.2010, 20:22
danke das ist das was gern haben wollte
du kannst auch die taster mehrfach abfragen, dann musst du den einen taster nicht ignorieren.
gruß josua
giftzwerg95
08.02.2010, 17:02
ich hab noch eine Frage
was ist an diesem Text falsch
#include "asuro.h"
int main(void);
{
unsigned char taste;
Init();
taste = pollswitch();
StatusLED(OFF);
MotorDir(FWD,FWD);
MotorSpeed(100,100);
while(1);
if(taste>0){MotorSpeed(0,0);}
StatusLED(RED);
MotorDir(RWD,FWD);
MotorSpeed(100,70);
else(taste=0){MotorSpeed(100,100);}
return 0;
}
Hallo
Auf den ersten Blick 2 Sachen.
Zum ersten muss die Hauptwhile Schleife nciht so while(1); aussehen sondern while(1){ hie dein quellcode bis return0} return 0; muss außerhalb der klamemr stehen und 2tens ist das else (taste==0) nicht =0
Gruß Thund3r
giftzwerg95
08.02.2010, 18:12
geht leider troßdem nicht
gruß giftzwerg
Hallo
Zeig mal wie dein Programm jetz aussieht
Gruß Thund3r
giftzwerg95
08.02.2010, 18:33
[/code]#include "asuro.h"
int main(void)
{
unsigned char taste;
Init();
taste=PollSwitch;
StatusLED(OFF);
MotorDir(FWD,FWD);
while(1){
if(taste>0){
MotorSpeed(0,0);
StatusLED(OFF);}
else{
MotorSpeed(200,200);
}
}
return 0;
}
Hallo
taste=PollSwitch; musst du in die while schleife packn sonst wird nur einmal der Wert genommen und mit dem wird immer verglichen da kein neuer ermittelet wird.
Gruß Thund3r
asurofreak.
08.02.2010, 18:38
also so:
#include "asuro.h"
int main(void)
{
unsigned char taste;
Init();
taste=PollSwitch;
StatusLED(OFF);
MotorDir(FWD,FWD);
while(1){
if(taste>0){
MotorSpeed(0,0);
StatusLED(OFF);}
else{
MotorSpeed(200,200);
}
}
return 0;
}
du musst am anfang und am ende auf "code" klicken
giftzwerg95
08.02.2010, 18:40
Jetzt sieht es so aus, aber es geht leider immer noch nicht
gruß giftzwerg
#include "asuro.h"
int main(void)
{
unsigned char taste;
Init();
StatusLED(OFF);
MotorDir(FWD,FWD);
while(1){
taste=PollSwitch;
if(taste>0){
MotorSpeed(0,0);
StatusLED(OFF);}
else{
MotorSpeed(200,200);
}
}
return 0;
}
Hallo
Init() muss immer als allererstes und hinter pollswitch muss n ()
Gruß Thund3r
giftzwerg95
08.02.2010, 18:57
danke jetzt gehts O:) O:)
gruß giftzwerg
Jetzt sieht es so aus, aber es geht leider immer noch nicht
gruß giftzwerg
...Was genau geht nicht. Oder besser, was macht er schon? Deine anderungen mussen doch irgendeiner auswirkung haben. Oder hattest du compilier/make fehler meldungen bekommen. Bitte etwes weiter erklären.
Hallo
Gern geschehn ;)
Gruß Thund3r
Nah ,3 berichten innerhald einer minute. Das ist schnell!
asurofreak.
08.02.2010, 19:27
kann mir vielleicht jemand ebend den hex-file davon schicken, hab nähmlich probleme mit dem notepad (windo(o)ws 7 :( )
MfG
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.