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

Jak odebrać liczbę dwucyfrową przez RS232 w BASCOM?

siewnik 27 Cze 2009 06:40 1362 3
REKLAMA
  • #1 6708783
    siewnik
    Poziom 15  
    Posty: 206
    Ocena: 122
    Witam
    Mam pytanko. W jaki sposób odebrać liczbe dwucyfrową np 11. Jeżeli używa w bascomie funkcji inkey() i chce z komputera przesłać liczbę 11 to uC odbiera tą liczbę jako dwie jedynki a nie jako liczbę 11, co uniemożliwia mi wykonanie instrukcji która znajduje sie pod CASE 11: . Jest na to jakiś sposób? Pytam ponieważ chcę skorzystać później z funkcji SELECT CASE ( wybór bedzie ok 65 pozycji) no i chciałbym przesyłać do uC liczby od 1 do 65 i na podstawie wybranej liczby skoczyć do danego CASE i wykonać określoną instrukcję.

    Dziekuję i pozdrawiam
    Dawid

    Dodano po 1 [minuty]:

    kod:
    
    Config Portb = Output
           Portb = &B00000000
    Config Portd = Output
           Portd = &B0000000
    
    Dim A As Byte
    
    Do
    
    A = Inkey()
    
       If A > 0 Then
          Select Case A
             Case 1:
                Set Portb.1
                Set Portb.3
             Case 2:
                Reset Portb.1
                Reset Portb.3
          End Select
        End If
    
    Loop
    End

    Dodałem znaczniki [code]
    [zumek]
  • REKLAMA
  • #2 6709136
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 6716990
    prawdziwykaznodzieja
    Poziom 2  
    Posty: 2
    a może wysyłaj "0" "1" dla jedynki, "3" "5" dla 35, itd.
    Wystarczy wtedy pierwszą cyfrę pomnożyć przez 10 i dodać drugą.
    taki luźny pomysł ...
  • #4 6719347
    wader_669
    Poziom 28  
    Posty: 1512
    Pomógł: 93
    Ocena: 15
    
    Dim Rs As String * 2
    Dim Rs1 As String * 1
    Do
    Rs = Waitkey()
    Rs1 = Waitkey()
    Rs = Rs + Rs1
    
    Select Case A
    Case "01":
       Set Portb.1
       Set Portb.3
    Case "11":
         Reset Portb.1
         Reset Portb.3
    End Select
    Loop
    End
    


    Dodano po 48 [sekundy]:

    tak na szybko
REKLAMA