Pliki *BGF na karcie SD w bascom.

Pytania, kody i porady dotyczące nie tylko Bascom.
ODPOWIEDZ
inspector_electro
Posty: 21
Rejestracja: 23 kwie 2017, 13:11

Pliki *BGF na karcie SD w bascom.

Post autor: inspector_electro » 08 kwie 2020, 17:50

Cześć wszystkim.
Czy możliwe jest, aby pliki - grafiki BGF z karty SD wyświetlać na oledzie?
Chodzi o popularnego SSD1306. Próbowałem coś zdziałać, ale nie idzie. Zawsze mam błędy związane z biblioteką tego oleda.
Czy trzeba przerabiać bibliotekę, czy jest jakiś inny sposób? dodam że próbowałem też z BMP przerobionym na bina (0/1). Też klapa przez bibliotekę.
Awatar użytkownika
niveasoft
Posty: 1216
Rejestracja: 17 sie 2015, 12:13
Kontakt:

Re: Pliki *BGF na karcie SD w bascom.

Post autor: niveasoft » 08 kwie 2020, 20:00

Można zrobić taki miks. Najprościej używać normalnie biblioteki a jedynie obrazki wysyłać dopisanym subem napisanym w Bascom. To nieskomplikowane.
Na przykład takiego BIN można wysłać tak:
  1. Sub Dump_graphic
  2.   'Function    : Dump a graphic to to LCD
  3.   'Author      : Ian Dobson
  4.   'Inputs      : None
  5.   'Outputs     : None
  6.   'Limitations : The i2c bus needs to be initalised before calling this routine
  7.   '
  8.   '              The graphic needs to be selected with restore before calling
  9.   '              this routine
  10.   '              The memory map of the display is 8x128 bytes per line and
  11.   '              8 lines
  12.   'Date        : 15.12.2014
  13.   Dim Xi As Byte
  14.   Dim Yi As Byte
  15.  
  16.   I2cstart
  17.   I2cwbyte &H78
  18.   I2cwbyte &H80
  19.   I2cwbyte 176                                              'Select Row
  20.   I2cstop
  21.  
  22.   I2cstart
  23.   I2cwbyte &H78
  24.   I2cwbyte &H80
  25.   I2cwbyte &H00
  26.   I2cstop
  27.  
  28.   I2cstart
  29.   I2cwbyte &H78
  30.   I2cwbyte &H80
  31.   I2cwbyte 16                                               'Select start column
  32.   I2cstop
  33.  
  34.   I2cstart
  35.   I2cwbyte &H78
  36.   I2cwbyte &H80
  37.   I2cstop
  38.  
  39.   I2cstart
  40.   I2cwbyte &H78
  41.   I2cwbyte &H40
  42.  
  43.   For Yi = 1 To 128
  44.   For Xi = 1 To 8
  45.     Read Send
  46.     I2cwbyte Send
  47.   Next Xi
  48.   Next Yi
  49.   I2cstop
  50. End Sub
Zamiast "Read Send" trzeba wstawić "Get Send" z karty i otwartego pliku.
inspector_electro
Posty: 21
Rejestracja: 23 kwie 2017, 13:11

Re: Pliki *BGF na karcie SD w bascom.

Post autor: inspector_electro » 08 kwie 2020, 22:31

Mam procedurę zapisu i odczytu tekstu. Jak to ogarnąć z binem?
  1. Sub Zapisz :
  2.  
  3.          Open "plik.txt" For Append As #2
  4.          Write #2 , Tekst
  5.          Flush #2
  6.          Close #2
  7.          Waitms 30
  8.          Setfont Font8x8tt
  9.          Cls
  10.          Lcdat , 1 , 1 , "Zapis na SD:"
  11.          Lcdat , 2 , 1 , Tekst
  12. End Sub
  13. '---------------------------------
  14. Sub Czytaj :
  15.  
  16. Local E As Byte
  17.  
  18. For E = 1 To 20
  19. Z(e) = ""
  20. Next E
  21.  
  22. E = 0
  23. S = Dir( "*.txt")
  24. Ff = Freefile()
  25.  
  26. Open S For Input As #ff
  27.  
  28. Do
  29.    Incr E
  30.    Line Input #ff , Z(e)
  31.    Waitus 10
  32. Loop Until Eof(ff) <> 0
  33.  
  34. Close #ff
  35.  
  36.  
  37.          Waitms 30
  38.          Setfont Font8x8tt
  39.          Cls
  40.          Lcdat , 2 , 1 , "Odczyt z SD:"
  41.          Lcdat , 1 , 1 , Z(1)
  42.          Lcdat , 2 , 1 , Z(2)
  43.          Lcdat , 3 , 1 , Z(3)
  44.          Lcdat , 4 , 1 , Z(4)
  45.          Lcdat , 5 , 1 , Z(5)
  46.          Lcdat , 6 , 1 , Z(6)
  47.          Lcdat , 7 , 1 , Z(7)
  48.          Lcdat , 8 , 1 , Z(8)
  49.  
  50.  
  51.  
  52. End Sub
  53. '-------------------------------------------------------------------------------
  54. Sub Usun
  55.    Kill "plik.txt"
  56.    Waitms 300
  57.    Cls
  58. End Sub
ODPOWIEDZ