logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Menu tekstowe podstawowe pytania.

KJ 14 Lip 2010 17:03 1109 2
REKLAMA
  • #1 8291726
    KJ
    Poziom 31  
    Witam. Mam problem ze zrealizowaniem następującej funkcjonalności: program działa w pętli i wykonuje jakieś operacje (mniejsza o to jakie) w miedzy czasie po RS232 przychodzi komenda np setup i zostaje naciśnięty enter - w terminalu tekstowym teraz chcę aby program przerwał pętlę i wysłał do terminala menu z możliwością wybrania kilku pozycji np ustawienie czasu, daty i innych takich. Wpisuje np czas i daję enter w terminalu program przechodzi do ustawiania czasu. To wszystko wiem jak zrobić nie wiem tylko jak zrealizować najbardziej podstawową rzecz mianowicie to że program przechodzi dalej dopiero po enterze czy ktoś ma jakiś pomysł jak to zrealizować? Procesor to Atmega128 program usiłuję napisać w bascomie.
  • REKLAMA
  • #2 8292486
    Krauser
    Poziom 26  
    Po odebraniu "setup" wchodzisz w pętlę.
    
    Do  
       znak = Inkey() 
       If znak >= 32 Then  ' znaki od spacji
         Select Case X
           Case 0 : godzJed = znak
           Case 1 : godzDzies = znak
         End Select
         Incr X
       End If
    Loop Until znak = 13   'pętla do momentu odebrania ENTER
  • #3 8293361
    rpal
    Poziom 27  
    Kolego prosta sprawa, do odbioru danych po rs232 używaj przerwań i gromadź dane w buforze. Obsluga przerwania odbioru znaku powinna sprawdzać kod znaku nadchodzącego z zewnątrz. Jeśli przyjdzie znak Enter przerwanie ustawia flagę. Flagę sprawdza z kolei głowny program, jeśli jest ustawiona wykonuje obsługę związaną z nadchodzącymi informacjami po rs232. Można to zrobić np. w ten sposób. Chodź można także na inne sposoby ale ten zdaje się być w miarę prosty.
REKLAMA