Elektroda.pl
Elektroda.pl
X
SterControl
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Serwer WWW + easy TCP/IP

kosta2000 08 Wrz 2008 10:49 2945 5
  • #1 08 Wrz 2008 10:49
    kosta2000
    Poziom 13  

    Mam pytanie odnośnie budowy serwera WWW. ZW EP byl opisany Sterowni I/O TCP/IP. Przegladalem kod programu do tego sterownika i mam w związku z tym pytanie: w jaki sposób są liczone linie strony www, bo nijak mi się nie zgadza, np:

    Code:

    elseif count = 67 then
        if out4 = 1 then
            s="on"
        else
            s = "off"
        end if

    odliczajac 67 linię wychodzi mi:
    Code:

    background-color: rgb(51, 153, 153);{034}>

    która to linia nic nie mówi o sterowaniu wyjściem OUT4
    To samo dotyczy innych linii.

    Tutaj pelny kod programu:
    Code:

    $prog &HFF , &HEF , &HD9 , &HFD                             'FuseBits
    $regfile = "M162def.dat"                                    'typ mikrokontrolera
    $crystal = 8000000                                          'czestotliwosc zegara
    $xa                                                         'wlaczenie dostepu do zewnetrznej magistrali mikrokontrolera
    $hwstack = 50                                               'wartosc stosu
    $swstack = 50                                               'wartosc stosu
    $framesize = 50                                             'wartosc ramki
    $lib "tcpip.lbx"                                            'zalaczenie biblioteki tcp/ip

    'sta│e dla modu│u TCP/IP
    Const Sock_stream = $01                                     ' Tcp
    Const Sock_dgram = $02                                      ' Udp




    Const Sock_ipl_raw = $03                                    ' Ip Layer Raw Sock
    Const Sock_macl_raw = $04                                   ' Mac Layer Raw Sock
    Const Sel_control = 0                                       ' Confirm Socket Status
    Const Sel_send = 1                                          ' Confirm Tx Free Buffer Size
    Const Sel_recv = 2                                          ' Confirm Rx Data Size
    Const Sock_closed = $00                                     ' Status Of Connection Closed
    Const Sock_arp = $01                                        ' Status Of Arp
    Const Sock_listen = $02                                     ' Status Of Waiting For Tcp Connection Setup
    Const Sock_synsent = $03                                    ' Status Of Setting Up Tcp Connection
    Const Sock_synsent_ack = $04                                ' Status Of Setting Up Tcp Connection
    Const Sock_synrecv = $05                                    ' Status Of Setting Up Tcp Connection
    Const Sock_established = $06                                ' Status Of Tcp Connection Established
    Const Sock_close_wait = $07                                 ' Status Of Closing Tcp Connection
    Const Sock_last_ack = $08                                   ' Status Of Closing Tcp Connection
    Const Sock_fin_wait1 = $09                                  ' Status Of Closing Tcp Connection
    Const Sock_fin_wait2 = $0a                                  ' Status Of Closing Tcp Connection
    Const Sock_closing = $0b                                    ' Status Of Closing Tcp Connection
    Const Sock_time_wait = $0c                                  ' Status Of Closing Tcp Connection
    Const Sock_reset = $0d                                      ' Status Of Closing Tcp Connection
    Const Sock_init = $0e                                       ' Status Of Socket Initialization
    Const Sock_udp = $0f                                        ' Status Of Udp
    Const Sock_raw = $10                                        ' Status of IP RAW

    Const Authenticate = 1                                      'wartosc 0 - wylaczenie logowania, 1 - wlaczenie logowania

    Enable Interrupts                                           'oblokowanie przerwan globalnych

    Config Tcpip = Int0 , Mac = 00.40.66.34.56.78 , Ip = 192.168.1.5 , Submask = 255.255.255.0 , Gateway = 192.168.1.1 , Localport = 1000 , Tx = $55 , Rx = $55       'konfiguracja modulu tcp/ip
    Config Portb = Output                                       'konfiguracja linii jako wyjscia
    Config Pind.0 = Input                                       'konfiguracja linii wejsciowych
    Config Pind.1 = Input
    Config Pind.3 = Input
    Config Pind.4 = Input
    Config Pind.5 = Input

    Dim S As String * 500 At &H200 , Shtml As String * 15 , Sheader As String * 30       'zmienne tekstowe
    Dim Woffset As Word , Wsize As Word , Bgenerate As Bit      'zmienne wykorzystywany przy wysylaniu strony www do przegladarki
    Dim Buf(500) As Byte At &H200 Overlay                       'tablica buf umieszczona w tej samej przestrzeni adresowej co zmienna S
    Dim Tempw As Word                                           'zmienna pomocnicza
    Dim I As Byte , Bcmd As Byte , P1 As Byte , P2 As Byte , Size As Word       'zmienne pomocnicze
    Dim Bcontent As Byte                                        'zmienna pomocnicza
    Dim Bauth As Byte , Ipcon As Long                           'zmienne wymagane przy wlaczonym logowaniu
    Dim Count As Word                                           'zmienna licznikowa
    Dim Temp As Byte

    I = 0                                                       'zerowanie zmiennej I
    Out1 Alias Portb.0                                          'przypisanie aliasow
    Out2 Alias Portb.1
    Out3 Alias Portb.2
    Out4 Alias Portb.3
    Out5 Alias Portb.4
    Out6 Alias Portb.5
    Out7 Alias Portb.6
    Out8 Alias Portb.7
    In1 Alias Pind.0
    In2 Alias Pind.1
    In3 Alias Pind.3
    In4 Alias Pind.4
    In5 Alias Pind.5

    Set Portd.0                                                 'wlaczenie rezystorow podciagajacych dla linii wejsciowych
    Set Portd.1
    Set Portd.3
    Set Portd.4
    Set Portd.5

    Readeeprom Temp , 10                                        'odczyt wartosci z EEPROM
    If Temp <> 10 Then                                          'jesli wartosc rozna niz 10 to
      Reset Out1                                                'zerowanie linii wyjsciowych
      Reset Out2
      Reset Out3
      Reset Out4
      Reset Out5
      Reset Out6
      Reset Out7
      Reset Out8
      Temp = 10                                                 'zapis wartosci 10
      Writeeeprom Temp , 10                                     'zapis wartosci do EEPROM
      Temp = Portb                                              'zapis stanu linii wyjsciowych portu B
      Writeeeprom Portb , 1                                     'zapis do pamieci EEPROM
    End If

    Readeeprom Temp , 1                                         'Odczyt pamieci EEPROM
    Portb = Temp                                                'zapis wartosci do rejestru portu B


    Do                                                          'poczatek petli glownej programu
      Tempw = Socketstat(i , 0)                                 'pobranie statusu polaczenia
      Select Case Tempw                                         'w zajeznosci od statusu jesli
        Case Sock_established                                   'polaczenie jest ustabilizowane to
          If Getdstip(i) <> Ipcon Then                          'jesli pobrany adres IP jest rowny adresowi IP w zmiennej Ipcon to
            Bauth = 0                                           'zerowanie bitu autoryzacji (po odswiezeniu strony nie bedzie ponownego logowania)
          End If
          Tempw = Socketstat(i , Sel_recv)                      'sprawdzenie czy sa dane do odebrania
          If Tempw > 0 Then                                     'jesli tempw wieksze od 0 to
            Bcmd = 0                                            'zerowanie bcmd
            Do                                                  'poczatek petli
              Tempw = Tcpread(i , S)                            'odczyt danych z TCP
              If Left(s , 3) = "GET" Then                       'jesli metoda GET to
                Bcmd = 1                                        'przypisanie do zmiennej wartosci 1
                Gosub Page                                      'skok do podprogramu Page
              Elseif Left(s , 4) = "HEAD" Then                  'jesli metoda HEAD to
                Bcmd = 1                                        'przypisanie do zmiennej wartosci 1
                Gosub Page                                      'skok do podprogramu Page
              Elseif Left(s , 4) = "POST" Then                  'jesli metoda POST to
                Bcmd = 2                                        'przypisanie do zmiennej wartosci 3
                Gosub Page                                      'skok do podprogramu Page

              Elseif Left(s , 15) = "Content-Length:" Then      'w przypadku metody POST odczytywana jest ilosc danych
                S = Mid(s , 16) : Bcontent = Val(s)             'ktora po przeksztalceniu zapisywana jest do zmiennej Bcontent
              Elseif Left(s , 20) = "Authorization: Basic" Then 'wykrywany jest komunikat autoryzacji
                S = Mid(s , 22)                                 'odczyt zakodowanych znakow uzytkownika i hasla wyslanych przez przegladarke
                If Base64dec(s) = "test:test" Then              'jest uzytkownik i haslo poprawne to
                  Bauth = 1                                     ' zapis ze autoryzacja przebiegla ok
                  Ipcon = Getdstip(i)                           'zapis numeru IP uzytkownika
                End If
              End If
            Loop Until S = ""                                   'oczekiwanie az odebrane zostana wszystkie dane
            #if Authenticate                                    'jesli autoryzacja wlaczona to
              If Bauth = 0 Then                                 'i jeszcze nie przeprowadzono autoryzacji to
                Tempw = Tcpwrite(i , "HTTP/1.0 401 OK{013}{010}")       'wyslanie do przegladarki komendy autoryzacji 401
                Tempw = Tcpwrite(i , "WWW-Authenticate: Basic realm={034}Sterownik I/O{034}{013}{010}")       'wyslanie nazwy serwera www
                Goto Continue                                   'skok do etykiety
              Else                                              'w przeciwnym razie
                Tempw = Tcpwrite(i , "HTTP/1.0 200 OK{013}{010}")       'wyslanie do przegladarki komendy 200
              End If
            #else                                               'gdy autoryzacja wylaczona to
                Tempw = Tcpwrite(i , "HTTP/1.0 200 OK{013}{010}")       'wyslanie do przegladarki komendy 200
            #endif
            If Bcmd = 2 Then                                    'jesli bcmd=3 to wykorzystywana metoda POST
              Tempw = Tcpread(i , Buf(1) , Bcontent)            'odczyt danych z TCP
              Bcontent = Bcontent + 1                           'obliczenie zmiennej
              Buf(bcontent) = 0                                 'dodanie znaku konca tekstu
              If Left(s , 3) = "on1" Then                       'jesli otrzymano znaki on1 to
                Set Out1                                        'ustawienie linii Out1
              Elseif Left(s , 4) = "off1" Then                  'w przeciwnym razie gdy otrzymano znaki off1 to
                Reset Out1                                      'wylaczenie linii Out1
              Elseif Left(s , 3) = "on2" Then                   'jesli otrzymano znaki on2 to
                Set Out2                                        'ustawienie linii Out2
              Elseif Left(s , 4) = "off2" Then                  'w przeciwnym razie gdy otrzymano znaki off2 to
                Reset Out2                                      'wylaczenie linii Out2
              Elseif Left(s , 3) = "on3" Then                   'jesli otrzymano znaki on3 to
                Set Out3                                        'ustawienie linii Out3
              Elseif Left(s , 4) = "off3" Then                  'w przeciwnym razie gdy otrzymano znaki off3 to
                Reset Out3                                      'wylaczenie linii Out3
              Elseif Left(s , 3) = "on4" Then                   'jesli otrzymano znaki on4 to
                Set Out4                                        'ustawienie linii Out4
              Elseif Left(s , 4) = "off4" Then                  'w przeciwnym razie gdy otrzymano znaki off4 to
                Reset Out4                                      'wylaczenie linii Out4
              Elseif Left(s , 3) = "on5" Then                   'jesli otrzymano znaki on5 to
                Set Out5                                        'ustawienie linii Out5
              Elseif Left(s , 4) = "off5" Then                  'w przeciwnym razie gdy otrzymano znaki off5 to
                Reset Out5                                      'wylaczenie linii Out5
              Elseif Left(s , 3) = "on6" Then                   'jesli otrzymano znaki on6 to
                Set Out6                                        'ustawienie linii Out6
              Elseif Left(s , 4) = "off6" Then                  'w przeciwnym razie gdy otrzymano znaki off6 to
                Reset Out6                                      'wylaczenie linii Out6
              Elseif Left(s , 3) = "on7" Then                   'jesli otrzymano znaki on7 to
                Set Out7                                        'ustawienie linii Out7
              Elseif Left(s , 4) = "off7" Then                  'w przeciwnym razie gdy otrzymano znaki off7 to
                Reset Out7                                      'wylaczenie linii Out7
              Elseif Left(s , 3) = "on8" Then                   'jesli otrzymano znaki on8 to
                Set Out8                                        'ustawienie linii Out8
              Elseif Left(s , 4) = "off8" Then                  'w przeciwnym razie gdy otrzymano znaki off8 to
                Reset Out8                                      'wylaczenie linii Out8
              End If
            End If
            Temp = Portb                                        'zapisanie stanu portu B
            Writeeeprom Temp , 1                                'zapis stanu portu do EEPROM
            Gosub Struc                                         'skok do podprogramu struc
    Continue:                                                   'etykieta
            Closesocket I                                       'zamkniŕcie po│╣czenia (gniazda)
          End If
        Case Sock_close_wait                                    'oczekiwanie na zamkniecie gniazda
          Closesocket I                                         'zamkniŕcie po│╣czenia (gniazda
        Case Sock_closed                                        'zamkniecie gniazda
          I = Getsocket(0 , Sock_stream , 80 , 0)               'otarcie gniazda o numerze idx na porcie 80
          Socketlisten I                                        'otwarcie gniazda w trybie serwera
      End Select                                                'koniec instrukcji case
    Loop                                                        'koniec nieskonczonej petli do-loop
    End                                                         'koniec programu

    Page:                                                       'podprogram pobierajacy adres strony z przegladarki
      P1 = Instr(s , " ")                                       'szuka pierwszej spacji
      P1 = P1 + 1                                               'podanie do P1 wartosci 1
      P2 = Instr(p1 , S , " ")                                  'szuka drugiej spacji
      P2 = P2 - P1                                              'odjecie od P2 wartosci P1
      Shtml = Mid(s , P1 , P2)                                  'wydobywa nazwe strony
      Shtml = Lcase(shtml)                                      'zamienia duze znaki strony na male
    Return                                                      'powrot z podprogramu

    Struc:                                                      'podprogram wysylajacy strone www
      Bgenerate = 0                                             'zerowanie zmiennej
      Select Case Shtml                                         'w zaleznosci od otrzymanego adresu
        Case "/index.htm"                                       'jesli adres index.htm to
          Bgenerate = 1                                         'wartosc zmiennej 1
        Case Else                                               'w przeciwnym razie
          Bgenerate = 0                                         'wartosc zmiennej 0
      End Select                                                'koniec instrukcji wyboru
      Tempw = Tcpwrite(i , "Content-Type: text/html{013}{010}") 'wyslanie do przegladarki komunikatu
      If Bgenerate = 0 Then                                     'jest zmienna 0 to
        S = "<html><head><title</title></head><body onload='window.location.href=" + Chr(34) + "/index.htm" + Chr(34) + "'></body></html>"       'wyslanie przekierowania na adres index.htm
        Wsize = Len(s)                                          'obliczenie ilosci wysylanych znakow
        Sheader = "Content-Length: " + Str(wsize) + "{013}{010}"       'dodanie ilosci wysylanych znakow
        Tempw = Tcpwritestr(i , Sheader , 255)                  'wyslanie ilosci danych
        Tempw = Tcpwrite(i , S , Wsize)                         'wyslanie strony www
      Else                                                      'w przeciwnym razie
        Count = 0                                               'zerowanie zmiennej
        Restore Www                                             'ustawienie wskaznika na tablice www
        Wsize = 10000
        Sheader = "Content-Length: " + Str(wsize) + "{013}{010}"       'dodanie ilosci wysylanych znakow
        Tempw = Tcpwritestr(i , Sheader , 255)                  'wyslanie ilosci danych
        Count = 0                                               'zerowanie zmiennej
        Restore Www                                             'ustawienie wskaznika na tablice www
        Do                                                      'poczatek petli
          Incr Count                                            'zwiekszenie o jeden zmiennej count
          If Count = 20 Then                                    'jesli count=20 to
            If In1 = 1 Then                                     'jesli In1 = 1 to
             S = "1"                                            'zapis do S wartosci 1
            Else                                                'w przeciwnym razie
              S = "0"                                           'zapis do S wartosci 0
            End If
          Elseif Count = 22 Then                                'jesli count=22 to
            If In2 = 1 Then                                     'jesli In2 = 1 to
             S = "1"                                            'zapis do S wartosci 1
            Else                                                'w przeciwnym razie
              S = "0"                                           'zapis do S wartosci 0
            End If
          Elseif Count = 24 Then                                'jesli count=24 to
            If In3 = 1 Then                                     'jesli In3 = 1 to
             S = "1"                                            'zapis do S wartosci 1
            Else                                                'w przeciwnym razie
              S = "0"                                           'zapis do S wartosci 0
            End If
          Elseif Count = 26 Then                                'jesli count=26 to
            If In4 = 1 Then                                     'jesli In4 = 1 to
             S = "1"                                            'zapis do S wartosci 1
            Else                                                'w przeciwnym razie
              S = "0"                                           'zapis do S wartosci 0
            End If
          Elseif Count = 28 Then                                'jesli count=28 to
            If In5 = 1 Then                                     'jesli In5 = 1 to
             S = "1"                                            'zapis do S wartosci 1
            Else                                                'w przeciwnym razie
              S = "0"                                           'zapis do S wartosci 0
            End If
          Elseif Count = 58 Then                                'jesli count=58 to
            If Out1 = 1 Then                                    'jesli Out1 = 1 to
             S = "ON"                                           'zapis do S wartosci ON
            Else                                                'w przeciwnym razie
              S = "OFF"                                          'zapis do S wartosci OFF
            End If
          Elseif Count = 61 Then                                'jesli count=61 to
            If Out2 = 1 Then                                    'jesli Out2 = 1 to
              S = "ON"                                          'zapis do S wartosci ON
            Else                                                'w przeciwnym razie
              S = "OFF"                                          'zapis do S wartosci OFF
            End If
          Elseif Count = 64 Then                                'jesli count=64 to
            If Out3 = 1 Then                                    'jesli Out3 = 1 to
              S = "ON"                                          'zapis do S wartosci ON
            Else                                                'w przeciwnym razie
              S = "OFF"                                          'zapis do S wartosci OFF
            End If
          Elseif Count = 67 Then                                'jesli count=67 to
            If Out4 = 1 Then                                    'jesli Out4 = 1 to
              S = "ON"                                          'zapis do S wartosci ON
            Else                                                'w przeciwnym razie
              S = "OFF"                                          'zapis do S wartosci OFF
            End If
          Elseif Count = 70 Then                                'jesli count=70 to
            If Out5 = 1 Then                                    'jesli Out5 = 1 to
              S = "ON"                                          'zapis do S wartosci ON
            Else                                                'w przeciwnym razie
              S = "OFF"                                           'zapis do S wartosci OFF
            End If
          Elseif Count = 73 Then                                'jesli count=73 to
            If Out6 = 1 Then                                    'jesli Out6 = 1 to
              S = "ON"                                          'zapis do S wartosci ON
            Else                                                'w przeciwnym razie
              S = "OFF"                                          'zapis do S wartosci OFF
            End If
          Elseif Count = 76 Then                                'jesli count=76 to
            If Out7 = 1 Then                                    'jesli Out7 = 1 to
              S = "ON"                                          'zapis do S wartosci ON
            Else                                                'w przeciwnym razie
              S = "OFF"                                          'zapis do S wartosci OFF
            End If
          Elseif Count = 79 Then                                'jesli count=79 to
            If Out8 = 1 Then                                    'jesli Out8 = 1 to
              S = "ON"                                          'zapis do S wartosci ON
            Else                                                'w przeciwnym razie
              S = "OFF"                                           'zapis do S wartosci OFF
            End If
          Else                                                  'w przeciwnym razie
            Read S
          End If                                                'odczyt linii data
          Tempw = Tcpwritestr(i , S , 255)                      'wyslanie danych strony www
        Loop Until S = "</body></html>"                         'petla wykonywana az do odebrania znakow konca strony www
      End If
    Return                                                      'powrot z podprogramu


    Www:                                                        'Zawartosc Strony Www
    Data "<html><head>"
    Data "<meta content={034}text/html; charset=ISO-8859-2{034}"
    Data "http-equiv={034}content-type{034}>"
    Data "<meta HTTP-EQUIV={034}refresh{034} CONTENT={034}5{034}>"
    Data "<title>Sterownik I/O</title></head><body style={034}"
    Data "color:rgb(0, 0, 0); background-color: rgb(0, 153, 0); {034}"
    Data " alink={034}#000099{034} link={034}#000099{034} vlink={034}#990099{034}>"
    Data "<div style={034}text-align: center;{034}><big><big><big><big style={034}"
    Data "font-weight: bold;{034}>Sterownik I/O</big></big></big></big><br></div>"
    Data "<div style={034}text-align: center;{034}><big><big><big><big>TCP/IP<br>"
    Data "</big></big></big></big><div style={034}text-align: left;{034}>"
    Data "<hr style={034}height: 5px; width: 100%;{034}></div></div>"
    Data "<div style={034}text-align: center;{034}><big><big><span style={034}font-style: italic;{034}><span style={034}"
    Data "color: rgb(255, 0, 0);{034}></span>Input<br></span></big></big>"
    Data "<div style={034}text-ilign: left;{034}><table"
    Data "style={034}text-align: left;"
    Data "background-color: rgb(51, 153, 153); width: 100%;{034}"
    Data "border={034}1{034} cellpadding={034}2{034} cellspacing={034}2{034}><tbody><tr>"
    Data "<td style={034}text-align: center;{034}>IN1: "
    Data "</td><td style={034}text-align: center;{034}>IN2: "
    Data "</td><td style={034}text-align: center;{034}>IN3: "
    Data "</td><td style={034}text-align: center;{034}>IN4: "
    Data "</td><td style={034}text-align: center;{034}>IN5: "
    Data "</td></tr></tbody></table><big><big><span style={034}font-style: italic;{034}></span></big></big><br>"
    Data "<big><big><span style={034}font-style: italic;{034}></span></big></big></div>"
    Data "<big><big><span style={034}font-style: italic;{034}></span></big></big>"
    Data "<hr style={034}height: 5px; width: 100%;{034}>"
    Data "<div style={034}text-align: left;{034}>"
    Data "<div style={034}text-align: center;{034}><big><big><span"
    Data "style=(034}font-style: italic;{034}></span></big></big><big><big><span"
    Data "style={034}font-style: italic;{034}>Output<br></span></big></big><table"
    Data "style={034}text-align: left;"
    Data " width: 100%; background-color: rgb(51, 153, 153);{034}"
    Data "border={034}1{034} cellpadding={034}2{034} cellspacing={034}2{034}><tbody><tr>"
    Data "<td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold;{034}>OUT1</td>"
    Data "<td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold;{034}>OUT2</td>"
    Data "<td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold;{034}>OUT3</td>"
    Data "<td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold;{034}>OUT4</td>"
    Data "<td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold;{034}>OUT5</td>"
    Data "<td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold;{034}>OUT6</td>"
    Data "<td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold;{034}>OUT7</td>"
    Data "<td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold;{034}>OUT8</td></tr><tr>"
    Data "<td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold; font-style: italic;{034}>"
    Data "</td><td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold; font-style: italic;{034}>"
    Data "</td><td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold; font-style: italic;{034}>"
    Data "</td><td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold; font-style: italic;{034}>"
    Data "</td><td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold; font-style: italic;{034}>"
    Data "</td><td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold; font-style: italic;{034}>"
    Data "</td><td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold; font-style: italic;{034}>"
    Data "</td><td style={034}text-align: center;"
    Data " background-color: rgb(51, 153, 153); font-weight: bold; font-style: italic;{034}>"
    Data "</td></tr><tr><td style={034}text-align: center;{034}"
    Data "background-color: rgb(51, 153, 153);{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}on1{034}>"
    Data "<input type={034}submit{034} value={034}ON {034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}on2{034}>"
    Data "<input type={034}submit{034} value={034}ON {034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}on3{034}>"
    Data "<input type={034}submit{034} value={034}ON {034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}on4{034}>"
    Data "<input type={034}submit{034} value={034}ON {034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}on5{034}>"
    Data "<input type={034}submit{034} value={034}ON {034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}on6{034}>"
    Data "<input type={034}submit{034} value={034}ON {034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}on7{034}>"
    Data "<input type={034}submit{034} value={034}ON {034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}on8{034}>"
    Data "<input type={034}submit{034} value={034}ON {034}></form></td></tr><tr>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}off1{034}>"
    Data "<input type={034}submit{034} value={034}OFF{034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}off2{034}>"
    Data "<input type={034}submit{034} value={034}OFF{034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}off3{034}>"
    Data "<input type={034}submit{034} value={034}OFF{034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}off4{034}>"
    Data "<input type={034}submit{034} value={034}OFF{034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}off5{034}>"
    Data "<input type={034}submit{034} value={034}OFF{034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}off6{034}>"
    Data "<input type={034}submit{034} value={034}OFF{034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}off7{034}>"
    Data "<input type={034}submit{034} value={034}OFF{034}></form></td>"
    Data "<td style={034}text-align: center;{034}>"
    Data "<form method={034}post{034}>"
    Data "<input type={034}hidden{034} name={034}off8{034}>"
    Data "<input type={034}submit{034} value={034}OFF{034}></form></td></tr>"
    Data "</tbody></table><big><big>"
    Data "<span style={034}font-style: italic;{034}></span></big></big><br></div>"
    Data "<hr style={034}height: 3px; width: 100%;{034}></div></div>"
    Data "</body></html>"


    Drugie pytanie to jak przerobić ten program, aby podawal zmierzoną temperaturę (wyświetlal wartość zmiennej)?

    Dzięki za odpowiedzi.

    0 5
  • SterControl
  • #2 09 Wrz 2008 15:03
    kosta2000
    Poziom 13  

    Proszę o podpowiedź. Dzięki.

    0
  • SterControl
  • #3 10 Wrz 2008 10:27
    organista
    Poziom 15  

    Przepraszam za offtopic, ale masz może jakiś link do tego artykułu?

    0
  • #4 10 Wrz 2008 10:52
    kosta2000
    Poziom 13  

    Sterownik ten byl opisany w marcowym numerze 2007 Elektroniki Praktycznej. Można pobrać z archiwum na ep.com.pl.

    0
  • #5 12 Wrz 2008 20:57
    kosta2000
    Poziom 13  

    Problemy rozwiązane. Zamykam temat.

    0
  • #6 12 Wrz 2008 22:55
    don diego
    Poziom 32  

    To może byś się podzielił tym rozwiązaniem. Może ktoś będzie miał taki sam problem.

    0