21-02-2018, 13:23
Funkcja danego trybu jazdy powinna być tak napisana, że nie jest zapętlona w nieskończoność.
Ważne by wywołana funkcja przeleciała jak najszybciej i została ewentualnie wywołana ponownie, a nie żeby program utknął tu oczekując na jakieś dane z czujnika, które nigdy nie przyjdą, bo np. się wziął i zepsuł.
Kod:
loop()
{
sprawdzenieczyjestnowakomenda();
if(nowakomenda)
{
nowakomenda=0;
trybjazdy=komendazpilota; (0,1,2,3,4);
}
switch (trybjazdy)
{
case 1:
//tu to co było w programie po linii
break;
case 2:
// to co wykrywało przeszkody
break;
case 3:
// teraz sterownie komorką
break;
default:
// jak nie ma żadnej komendy 1,2,3, a jest np. 4,5, 547235 itd to np. funkcja by zatrzymać pojazd
//można też ustawić jakiś timeout, odliczać upływ czasu w pętli głównej np. 10s i po tym czasie komenda=0, tu zatrzymać pojazd.
// lub po upływie czasu komenda++ i sam zmienia tryb jazdy, if(komenda>3) komenda =0, zatrzyma pojazd, lub komenda=1, od nowa po kolei.
}
}
Ważne by wywołana funkcja przeleciała jak najszybciej i została ewentualnie wywołana ponownie, a nie żeby program utknął tu oczekując na jakieś dane z czujnika, które nigdy nie przyjdą, bo np. się wziął i zepsuł.
Miło być decenianym https://buycoffee.to/kaczakat