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

[BASCOM] Jak odczytać i wyświetlić eeprom 24C02/04/16/64 na LCD 2x16 w BASCOM?

Ficu 21 Wrz 2007 19:49 7635 39
Najlepsze odpowiedzi LABEL_AI_GENERATED

Jak w BASCOM odczytać zawartość pamięci EEPROM 24Cxx i wyświetlić ją na LCD 2x16?

Najprościej: odczytuj bajt z EEPROM przez I2C (`I2CSTART`, adres układu, adres komórki, powtórzony `I2CSTART`, adres odczytu, `I2CRBYTE ... , NACK`, `I2CSTOP`) i wyświetlaj wynik na LCD poleceniem `Lcd`, a nie `Print` [#4333060][#4333660][#4341488] Jeśli w pamięci jest tekst, czytaj kolejne bajty w pętli, dopisuj je do zmiennej `String` przez `Chr(B1)` i dopiero gotowy napis pokaż na LCD; w przykładzie zatrzymywało się to na znaku 0 lub `&HFF` [#4345275][#4341706] Dla 24C04 pamiętaj, że pierwsze 256 bajtów są pod adresami 160/161, a kolejne 256 pod 162/163, a 24C64 ma inny sposób adresowania niż 24C02/04/08/16, więc adres układu trzeba dobrać do konkretnej kostki [#4345445][#4341488] Upewnij się też, że `Config Sda` i `Config Scl` zgadzają się z faktycznym podłączeniem, bo w wątku błąd wynikał z rozjazdu między konfiguracją a schematem [#4334829]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA
  • #1 4307382
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Witam,
    nie mogę nigdzie znaleźć jak odczytać zawartość pamięci eeprom 24C02/04/16/64.
    Interesuje mnie odczyt i wyświetlenie zawartości na lcd 2*16, przewijanie(góra, dół, pauza).
  • REKLAMA
  • Pomocny post
    #2 4307468
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    Ficu napisał:
    Witam,
    nie mogę nigdzie znaleźć jak odczytać zawartość pamięci eeprom 24C02/04/16/64.

    Bo pewnie szukałeś w innej galaktyce ;)
    Zajrzyj do katalogu Smaples Bascoma.
    Ficu napisał:
    Witam,
    Interesuje mnie odczyt i wyświetlenie zawartości na lcd 2*16, przewijanie(góra, dół, pauza).

    j/w
    Poskładaj zdobyte informacje do kupy i masz to co chciałeś.

    Piotrek
  • #3 4307503
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Szukałem na elce i znalazłem 8 wyników, żadnego nie mogę zrozumieć;/
    Może jest jakaś technika na przyswajanie sobie BASCOMA?
  • Pomocny post
    #4 4307655
    Platon
    Poziom 42  
    Posty: 9185
    Pomógł: 744
    Ocena: 170
    TAk. Zacznij pisac programy od najprostszych, do najbardziej skomplikowanych. Mozesz tez modyfikowac programy przykładowe. Po paru tygodniach bedziesz mial przyswojonego bascoma.
  • #5 4309174
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Zrobiłem takie coś, ale nie działa ;/
    
    $regfile = "m8def.dat"
    $crystal = 8000000
    $baud = 9600
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Pinc.1 , Rs = Pinc.0
    Config Rc5 = Portd.2
    Config 1wire = Portb.0
    Config Sda = Portc.4
    Config Scl = Portc.5
    
    Declare Sub Read_eeprom(byval Adres As Byte , Value As Byte)
    
    Const Addressw = 160                                        'slave write address
    Const Addressr = 161                                        'slave read address
    
    Dim B1 As Byte , Adres As Byte , Value As Byte              'dim byte
    
    
    
    Call Read_eeprom(1 , Value) : Print Value                   'read it back
    Call Read_eeprom(5 , Value) : Print Value                   'again for address 5
    
    
    
    
    Sub Read_eeprom(byval Adres As Byte , Value As Byte)
       I2cstart                                                 'generate start
       I2cwbyte Addressw                                        'slave adsress
       I2cwbyte Adres                                           'address of EEPROM
       I2cstart                                                 'repeated start
       I2cwbyte Addressr                                        'slave address (read)
       I2crbyte Value , Nack                                    'read byte
       I2cstop                                                  'generate stop
    End Sub
  • #6 4332959
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Bardzo proszę o pomoc! Potrzebuje tylko kod do odczytu eeprom i wyświetleniu zawartości na lcd.
  • Pomocny post
    #7 4333060
    august_a
    Poziom 21  
    Posty: 572
    Pomógł: 32
    Ocena: 4
    Komenda Print nie wyświetli ci zmiennej na lcd :)
    'Program wykonujący zapis do pamięci EEPROM
    Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
    I2cstart
    I2cwbyte Addressw
    I2cwbyte Adres
    I2cwbyte Value
    I2cstop
    Waitms 10
    End Sub
    
    'Program wykonujący odczyt z pamięci EEPROM
    Sub Read_eeprom(byval Adres As Byte , Value As Byte)
    I2cstart
    I2cwbyte Addressw
    I2cwbyte Adres
    I2cstart
    I2cwbyte Addressr
    I2crbyte Value , Nack
    I2cstop
    End Sub


    odczytujesz:
     Call Read_eeprom(adres , zmienna)   


    oczywiście musisz zdeklarować odpowiednie zmienne......
    Pzdr.
    Jaśniej już się chyba nie da :D
  • #8 4333128
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Czyli byłoby to coś takiego:
    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Pinc.1 , Rs = Pinc.0
    
    Config Sda = Portd.5
    Config Scl = Portd.7
    
    Declare Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
    Declare Sub Read_eeprom(byval Adres As Byte , Value As Byte)
    
    Const Addressw = 174                                        'slave write address
    Const Addressr = 175                                        'slave read address
    
    Dim B1 As Byte , Adres As Byte , Value As Byte              'dim byte
    
    'Program wykonujący zapis do pamięci EEPROM
    Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
    I2cstart
    I2cwbyte Addressw
    I2cwbyte Adres
    I2cwbyte Value
    I2cstop
    Waitms 10
    End Sub
    
    'Program wykonujący odczyt z pamięci EEPROM
    Sub Read_eeprom(byval Adres As Byte , Value As Byte)
    I2cstart
    I2cwbyte Addressw
    I2cwbyte Adres
    I2cstart
    I2cwbyte Addressr
    I2crbyte Value , Nack
    I2cstop
    
    Cls
    Print ; Value
    End Sub
  • Pomocny post
    #9 4333660
    Krzych51
    Poziom 14  
    Posty: 76
    Pomógł: 6
    Ocena: 3
    Witam.
    W trzeciej i czwartej linijce programu konfigurujesz wyświetlacz LCD, poleceniem CLS inicjujesz wyswietlacz, żeby coś na nim wyświetlić musisz napisać wtedy wartość zmienej zostanie wyświetlona. Żeby sprawdzić jak to działa może spróbuj od czego prostrzego. Koledzy piszący wcześniej dobrze Ci radzili. Poszukaj w internecie przykładów i przeanalizuj je, a wtedy z czasem napewno osiągniesz sukces.

    Pozdrawiam i życzę powodzenia.
    Krzych
  • Pomocny post
    #10 4334085
    august_a
    Poziom 21  
    Posty: 572
    Pomógł: 32
    Ocena: 4
    Poczytaj troche helpa Bascom tam jest WSZYSTKO opisane, jeśli chodzi o takie podstawy...
  • REKLAMA
  • #11 4334131
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Help bascoma już czytałem.
    Co w tym kodzie jest źle?
    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Pinc.1 , Rs = Pinc.0
    
    Config Sda = Portd.5
    Config Scl = Portd.7
    
    Declare Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
    Declare Sub Read_eeprom(byval Adres As Byte , Value As Byte)
    
    Const Addressw = 174                                        'slave write address
    Const Addressr = 175                                        'slave read address
    
    Dim B1 As Byte , Adres As Byte , Value As Byte              'dim byte
    
    'Program wykonujący zapis do pamięci EEPROM
    Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
    I2cstart
    I2cwbyte Addressw
    I2cwbyte Adres
    I2cwbyte Value
    I2cstop
    Waitms 10
    End Sub
    
    'Program wykonujący odczyt z pamięci EEPROM
    Sub Read_eeprom(byval Adres As Byte , Value As Byte)
    I2cstart
    I2cwbyte Addressw
    I2cwbyte Adres
    I2cstart
    I2cwbyte Addressr
    I2crbyte Value , Nack
    I2cstop
    
    Cls
    Lcd Value
    End Sub
  • Pomocny post
    #12 4334273
    august_a
    Poziom 21  
    Posty: 572
    Pomógł: 32
    Ocena: 4
    Co wyświetla ci lcd??
  • #13 4334334
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Wyświetla tylko 1 krzaczek i nic więcej.
  • #15 4334429
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Działa mi takie coś:
    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Pinc.1 , Rs = Pinc.0
    Config Rc5 = Portd.2
    Config 1wire = Portb.0
    Config Sda = Portc.4
    Config Scl = Portc.5
    Dim I As Byte
    Deflcdchar Print , 17 , 10 , 4 , 10 , 17 , 10 , 4 , 10      ' replace ? with number (0-7)
    Do
    Cls
    Lcd "tutaj wyswietla"
    Waitms 10
    Lowerline
    Waitms 10
    Lcd "sie dowolny"
    Waitms 400
    Cls
    Lcd "tekst"
    Waitms 500
    Cls
    Lcd "by Ficu  " ; Chr(0)
    Waitms 100
    For I = 1 To 16
    Shiftlcd Right
    Waitms 100
    Next I
    For I = 1 To 16
    Shiftlcd Left
    Waitms 100
    Next I
    Loop
    End
  • Pomocny post
    #16 4334436
    august_a
    Poziom 21  
    Posty: 572
    Pomógł: 32
    Ocena: 4
    Wyświetlać ci może jakis krzaki bo w eepromie nic jeszcze nie zapisales.
  • Pomocny post
    #17 4334440
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    Ficu napisał:
    Help bascoma już czytałem.
    Co w tym kodzie jest źle?

    Kolejność bracie , kolejność.Ponieważ w Twoim kodzie nie ma nigdzie instrukcji skoku do funkcji/podprogramu , to uC wykonując program po kolei , włazi do ...
    
    Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
    I2cstart
    I2cwbyte Addressw
    I2cwbyte Adres
    I2cwbyte Value
    I2cstop
    Waitms 10
    End Sub 
    
    i po napotkaniu instrukcji End Sub wykonuje instrukcję Return/RET.Ponieważ nie ma gdzie wrócić , to albo się resetuje , albo idzie "w krzaki".
    Wypróbuj poniższe i napisz co zobaczyłeś na LCD
    
    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Pinc.1 , Rs = Pinc.0
    
    Config Sda = Portd.5
    Config Scl = Portd.7
    
    Declare Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
    Declare Sub Read_eeprom(byval Adres As Byte , Value As Byte)
    
    Dim Addressw As Byte                                        'slave write address
    Dim Addressr As Byte                                        'slave read address
    
    Dim B1 As Byte , Adres As Byte , Value As Byte , T As Byte  'dim byte
    
    B1 = 0
    Value = &H55
    Cls
    Lcd "Szukam urzadzen ";
    Lowerline
    Lcd "na szynie I2C   ";
    For Addressw = 2 To 254 Step 2
       I2cstart
       I2cwbyte Addressw
       I2cstop
       If Err = 0 Then Exit For
    Next
    Cls
    If Addressw < 255 Then
       Lcd "Adres &H" ; Hex(Addressw);
       Lowerline
       Lcd "odpowiedzial ACK";
       Addressr = Addressw + 1
       Wait 5
    Else
       Lcd "Urzadzenia nie";
       Lowerline
       Lcd "odpowiadaja :(";
       Stop
    End If
    
    Call Write_eeprom(10 , Value)
    Call Read_eeprom(10 , B1)
    Cls
    If B1 = Value Then
       Lcd "Sukces :)";
       Lowerline
       Lcd "B1=Value";
    Else
       Lcd "Porazka :(";
       Lowerline
       Lcd "B1<>Value";
    End If
    
    Stop
    
    
    'Program wykonujący zapis do pamięci EEPROM
    Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
    I2cstart
    I2cwbyte Addressw
    If Err = 0 Then
       I2cwbyte Adres
       I2cwbyte Value
       I2cstop
       Waitms 10
    End If
    End Sub
    
    'Program wykonujący odczyt z pamięci EEPROM
    Sub Read_eeprom(byval Adres As Byte , Value As Byte)
    I2cstart
    I2cwbyte Addressw
    I2cwbyte Adres
    I2cstart
    I2cwbyte Addressr
    I2crbyte Value , Nack
    I2cstop
    
    End Sub
    


    Piotrek

    PS
    Jakiego eepromu używasz :?:
    24C64 , różni się od mniejszych ... sióstr 24C2/4/8/16 między innymi sposobem adresowania.
  • REKLAMA
  • #18 4334471
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Narazie testuje 24C04, potem będę chciał coś większego chyba 24C64.
    Eeprom programuje przez komputer oddzielnym programatorem i chcę aby tylko była wyświetlana jego zawartość.

    Dodano po 4 [minuty]:

    Wyświetla mi:
    Szukam urzadzen
    odpowiedzial ACK

    Potem:
    Porazka :(
    B1<>Value


    Dodano po 2 [minuty]:

    Bez eepromu jest to samo.
  • Pomocny post
    #19 4334562
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    Ficu napisał:
    ...
    Wyświetla mi:
    Szukam urzadzen
    odpowiedzial ACK

    Potem:
    Porazka :(
    B1<>Value


    Bez eepromu jest to samo.

    Poprawiłem ociupinkę kod , więc spróbuj jeszcze raz.Przez 5 sekund będzie wyświetlał w górnej linii adres urządzenia(napisz jaki z eeperomem i jaki bez eepromu).Jeśli bez podłączonego eepromu wykrywa urządzenie na I2C , to może oznaczać brak rezystorów podciągających na SCL i SDA.

    Piotrek
  • REKLAMA
  • Pomocny post
    #21 4334829
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    To wytłumacz mi łaskawco , dlaczego w kodzie (post , który skopiowałem)masz
    
    Config Sda = Portd.5
    Config Scl = Portd.7
    

    a na schemacie Portc.4 i Portc.5 :?:
    Zmień przypisy i sprawdź :)

    Piotrek
  • #22 4334852
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    A sprawdzałem to 3 razy...



    Dodano po 17 [minuty]:

    Czyli jak teraz mam odczytać eeprom?

    Dodano po 3 [godziny] 18 [minuty]:

    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Pinc.1 , Rs = Pinc.0
    
    Config Sda = Portc.4
    Config Scl = Portc.5
    
    
    'zapis i odczyt danych z eeprom
    Dim A As Byte
    Const Adresw = 160                                          'adres do zapisu eeprom 24c64
    Const Adresr = 161                                          'adres do odczytu eeprom 24c64
    
    'odczyt eeprom
    
    I2cstart                                                    'warunek startu
    I2cwbyte Adresw                                             'zaadresujemy urządzenie
    I2cwbyte 1                                                  'wyślij adres komórki eeprom
    I2cstart                                                    'warunek startu
    I2cwbyte Adresr                                             'adresujemy eeprom do odczytu
    I2crbyte A                                                  'odczyt komórki pamięci, nack oznacza, że nie będzie następnego odczytu
    I2cstop
    Cls                                                         'warunek stopu
    Lcd ; A
    End


    Na wyświetlaczu 0. Co jest nie tak?
  • #23 4338125
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Więc co teraz mam zrobić aby wyświetlał mi tekst?
  • Pomocny post
    #24 4340067
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    Ficu napisał:
    Więc co teraz mam zrobić aby wyświetlał mi tekst?

    A jesteś pewien , że pod tym adresem nie jest zapisane zero :?:
    Z innej beczki.
    Najpierw napisałeś , że masz 24c04 , ale teraz w komentarzu stoi 24c64 , więc pytam: którą "kostkę" teraz "męczysz" :?: ;)

    Piotrek
  • #25 4341219
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Korzystam z 24C04.
    Programuje ic-prog'iem.
    [BASCOM] Jak odczytać i wyświetlić eeprom 24C02/04/16/64 na LCD 2x16 w BASCOM?

    Dodano po 5 [minuty]:

    Bez eeprom też 0.
  • Pomocny post
    #26 4341488
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    Ficu napisał:
    ... Bez eeprom też 0.

    Zanim wkleję kod , to trochę ponarzekam ;)
    Powiedz , dlaczego nie analizujesz kodu , który zadziałał i nie wyciągasz wniosków :?: Czyżbyś go nie rozumiał :?:
    Zauważ , że po zaadresowaniu układu , sprawdzam zmienną systemową ERR , która "mówi " , czy zaadresowany układ odpowiedział (ERR=0) , czy nie (ERR=1).Ty w swoim kodzie olewasz ERR i lecisz na pewniaka , a tu zonk :|
    Ok wystarczy :)
    
    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Pinc.1 , Rs = Pinc.0
    
    Config Sda = Portd.5
    Config Scl = Portd.7
    
    Declare Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
    Declare Sub Read_eeprom(byval Adres As Byte , Value As Byte)
    
    Dim Addressw As Byte                                        'slave write address
    Dim Addressr As Byte                                        'slave read address
    
    Dim B1 As Byte , Adres As Byte , Value As Byte , T As Byte  'dim byte
    
    B1 = &HFF
    Value = &H55
    Cls
    Lcd "Szukam urzadzen ";
    Lowerline
    Lcd "na szynie I2C   ";
    For Addressw = 2 To 254 Step 2
       I2cstart
       I2cwbyte Addressw
       I2cstop
       If Err = 0 Then Exit For
    Next
    Cls
    If Addressw < 255 Then
       Lcd "Adres &H" ; Hex(Addressw);
       Lowerline
       Lcd "odpowiedzial ACK";
       Addressr = Addressw + 1
       Wait 5
    Else
       Lcd "Urzadzenia nie";
       Lowerline
       Lcd "odpowiadaja :(";
       Stop
    End If
    
    Cls
    For T = 0 To 15
       Call Read_eeprom(t , B1)
       If T = 8 Then Lowerline
       Lcd Hex(b1);
    Next
    
    Stop
    
    'Program wykonujący odczyt z pamięci EEPROM
    Sub Read_eeprom(byval Adres As Byte , Value As Byte)
    I2cstart
    I2cwbyte Addressw
    I2cwbyte Adres
    I2cstart
    I2cwbyte Addressr
    I2crbyte Value , Nack
    I2cstop
    
    End Sub
    
    


    Piotrek
  • #27 4341572
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    Zmieniłem tylko config scl i sda.
    Czyta z eeprom ale cyfry tzn nie zmienia tego na litery.
  • Pomocny post
    #28 4341650
    snow
    Poziom 31  
    Posty: 1825
    Pomógł: 178
    Ocena: 201
    Musisz ty zamienić na litere. Każdemu znakowi odpowiada wartość z zakresu 0-255 więc ci będzie zawsze zwracał wartość liczbową danego znaku.
  • #29 4341695
    Ficu
    Poziom 31  
    Posty: 1991
    Pomógł: 107
    Ocena: 48
    snow napisał:
    Musisz ty zamienić na litere. Każdemu znakowi odpowiada wartość z zakresu 0-255 więc ci będzie zawsze zwracał wartość liczbową danego znaku.

    Czyli jak?

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy odczytu i wyświetlania zawartości pamięci EEPROM serii 24C02/04/16/64 na wyświetlaczu LCD 2x16 przy użyciu języka BASCOM. Poruszono kwestie konfiguracji magistrali I2C, poprawnego adresowania urządzenia EEPROM, obsługi protokołu I2C oraz wyświetlania danych na LCD. Wskazano, że adresy zapisu i odczytu EEPROM różnią się o 1 (np. 160 i 161 dla 24C64), a także że dla 24C04 pamięć jest podzielona na dwie części z różnymi adresami (160/161 i 162/163). Podkreślono konieczność stosowania rezystorów podciągających na liniach SCL i SDA oraz zgodności konfiguracji pinów w kodzie z rzeczywistym podłączeniem sprzętowym. Omówiono implementację podprogramów do zapisu i odczytu bajtów z EEPROM, z uwzględnieniem sprawdzania błędów komunikacji (zmienna ERR). Wskazano, że odczytane wartości bajtów należy konwertować na znaki ASCII za pomocą funkcji Chr(), aby wyświetlić czytelny tekst na LCD. Zaprezentowano przykładowy kod do odczytu ciągu znaków z EEPROM i wyświetlenia go na wyświetlaczu, z uwzględnieniem ograniczeń długości wyświetlanego tekstu i konieczności obsługi przewijania. Poruszono także kwestie debugowania i testowania kodu, w tym wyświetlania komunikatów testowych na LCD oraz wykrywania urządzeń na magistrali I2C. Wskazano, że BASCOM jest językiem stosunkowo prostym, a nauka powinna opierać się na analizie przykładów i dokumentacji.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA