• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Jak wyjść z pętli przed upływem time-out-a ?
#1
Witam.


Przymierzam się do napisania funkcji do zaprogramowania nowego pilota RC5, która zostanie wywołana, jeśli podczas włączania Arduino wciśnięty jest dedykowany przycisk.

W przykładowym kodzie z biblioteki IRremote kody odbierane są w pętli za pomocą if-a:


if (irrecv.decode(&results)) {
}


Jak nie napłynie żaden kod to nic się nie stanie (po prostu kod nie zostanie wysłany na port szeregowy). Tymczasem podczas kodowania nowego pilota chciałbym by procesor do oporu czekał na nowy kod RC5, i nic innego w tym czasie nie robił. Czym wtedy zastąpić if-a?

Z drugiej strony może jednak zrobię to na pętli z if-em, bo dzięki temu będę mógł zrealizować timeout (gdy przez dłuższy czas nie napłynie kod RC5 procedura programowania nowego pilota zostanie opuszczona).

Jak opuścić pętlę szybciej (zanim nastąpi przepełnienie timeout-a) w przypadku, gdy zostanie odebrany kod RC5?

[Obrazek: sz1lDHp.png]
 
Odpowiedź
#2
if-a zastąp przez while.
- uC: ARM Angel , AVR, Z8, PIC, 8051 / CPU: MC680x0  , Z-80, 6502
- CPLD, FPGA, GAL
- GSM, ISDN, ETH, USB, RS232C/485/422
- C, ASM, CUPL, PHP, BASIC C-64

http://er-mik.prv.pl/projekty_avt.php * http://er-mik.prv.pl/ * http://kolejki.prv.pl/

KA-NUCLEO-F411CE Idea , ESP32, Mega2560, UNO PLUS
 
Odpowiedź
#3
(11-07-2018, 14:11)mes marius napisał(a): Jak opuścić pętlę szybciej (zanim nastąpi przepełnienie timeout-a) w przypadku, gdy zostanie odebrany kod RC5?
break.
Naucz się C.
- uC: ARM Angel , AVR, Z8, PIC, 8051 / CPU: MC680x0  , Z-80, 6502
- CPLD, FPGA, GAL
- GSM, ISDN, ETH, USB, RS232C/485/422
- C, ASM, CUPL, PHP, BASIC C-64

http://er-mik.prv.pl/projekty_avt.php * http://er-mik.prv.pl/ * http://kolejki.prv.pl/

KA-NUCLEO-F411CE Idea , ESP32, Mega2560, UNO PLUS
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości