ja ok im großen und ganzen habe ich das jetz verstanden
auf der einen seite lag der bei knapp 600 also passt das undgefähr.
emm ebend ma kurz ne andere frage
Code:
#include "stdlib.h"
#include "asuro.h"
#include "lcd.h"
#include "i2c.h"
int o = 1;
void start(int speed)
{
int keys;
int i = 1;
int zaehler = 0 ;
while(i >0)
{
keys = PollSwitchLCD();
if (keys & LCD_KEY_YELLOW) //schwarzer Taster
{
while ( zaehler == 0)
{
if(speed < 355) //Geschwindigkeit erhöhen
{
speed = speed +10;
ClearLCD();
PrintSetLCD(0,0,"Geschwindigkeit");
SetCursorLCD(0, 1);
zaehler = zaehler +1;
PrintIntLCD(speed);
}
zaehler = zaehler +1;
}
}
else if (keys & LCD_KEY_RED ) //roter Taster
{ //wechseln von der Geschwindigkeiseinstellung
i = 0; //in den Messbetrieb
}
else if (keys & LCD_KEY_BLUE ) //Blauer Taster
{
while ( zaehler == 0)
{
if(speed >0)
{
speed = speed -10; //Geschwindigkeit vermindern
ClearLCD();
PrintSetLCD(0,0,"Geschwindigkeit");
SetCursorLCD(0, 1);
PrintIntLCD(speed);
zaehler = zaehler +1;
}
zaehler = zaehler +1;
}
}
if(!keys) // für das einmalige hochzählen beim drücken eines knopfes
{
Msleep(100);
zaehler = 0;
}
}
o--;
}
//Hauptprogramm
int main(void)
{
//Geschwindigkeit
//void int speed = 100;
int speed = 100;
Init();
InitI2C();
InitLCD();
GREEN_LED_ON;
while(o > 0)
{
PrintSetLCD(0,0,"Geschwindigkeit");
SetCursorLCD(0, 1);
PrintIntLCD(speed);
start(speed);
}
MotorDir(FWD,FWD);
MotorSpeed(speed,speed);
return 0;
}
weshalb hat speed unten immernoch hundert obwohl ich den wert oben verändert habe?
Lesezeichen