Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Przerwanie działania programu w dowolnym momencie

Ostatnio zmodyfikowano 2016-05-21 07:40
Autor Wiadomość
paulinaj99
Temat założony przez niniejszego użytkownika
Przerwanie działania programu w dowolnym momencie
» 2016-05-20 18:59:35
Witam,

Mam jedno pytanie, tworzę program w C++ obsługujący robota i tak błądzę w Internecie na temat czy możliwe dokonanie przerwania programu w dowolnym momencie np. za pomocą jakiegoś klawisza, mówiąc dokładniej chce aby program działał, pętla się wykonywała nieprzerwanie, czyli w tym przypadku robot po prostu sobie chodził, aż do momentu wciśnięcia przez użytkownika wskazanego klawisza i nie chodzi mi tu żeby za każdym razem wykonywania pętli pytał się mnie czy kontynuować, ale żeby móc ingerować w program w dowolnym momencie. W arduino występuje funkcja przerwań, natomiast w tym przypadku nie mam pojęcia w jaki sposób to zrealizować. Z góry dzięki za pomoc ! 
P-148448
mateczek
» 2016-05-20 19:13:53

 Mam jedno pytanie, tworzę program w C++ obsługujący robota

Na czym ten program pisany w c++ ma pracować??(platforma, system)
tak na szybko to mogę polecić odcięcie zasilania. A robot na pewno się zatrzyma;)
http://www.eres.alpha.pl​/elektronika/fusion_images​/elektronika/przekaznik.gif
P-148449
michal11
» 2016-05-20 19:59:58
Return z maina. Od biedy exit(), chociaż nie wiem dokładnie jak to działa, musiałbyś poszukać w dokumentacji.
P-148452
paulinaj99
Temat założony przez niniejszego użytkownika
» 2016-05-20 20:45:11
Piszę program na Raspberry Pi. Odcinanie zasilania uprawiam na co dzień :) No szukałam informacji na temat funkcji exit(), ale nie wiem, szczerze nie przemawia do mnie albo po prostu jej nie czaje, przejrzę info na temat return'a.
P-148455
mateczek
» 2016-05-20 22:42:20
Raspberry Pi to zestaw na jakimś ARM.  Więc kolejne pytanie czy stawiasz na tym jakiś system operacyjny (to dość mocny zestaw wiec domniemuje, że z jakimś systemem typu Linux jest na to dostępny)
Ale jest też pewnie możliwość pisania "bare-metal"?? W przypadku systemu sprawa jest o tyle prosta, że zrobienie return zakończy Ci program i będzie pracował tylko system operacyjny. W przypadku programu "bare-metal". Wywalenie returna skończy się wyskoczeniem gdzieś w śmieci pamięci i w konsekwencji reset.
. A przerwania ma każdy procesor tylko trzeba się doszkolić jak się do nich dobrać !!!
P-148456
darko202
» 2016-05-21 07:40:44
a kbhit() nie zalatwia Twojego problemu

C/C++
while( kbhit() )
{
    ...//tu kod, który zadziała po naciśnięciu dowolnego klawisza
}
P-148457
« 1 »
  Strona 1 z 1