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ę.
Pliki *BGF na karcie SD w bascom.
-
- Posty: 21
- Rejestracja: 23 kwie 2017, 13:11
- niveasoft
- Posty: 1216
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Pliki *BGF na karcie SD w bascom.
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:
Zamiast "Read Send" trzeba wstawić "Get Send" z karty i otwartego pliku.
Na przykład takiego BIN można wysłać tak:
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Sub Dump_graphic
- 'Function : Dump a graphic to to LCD
- 'Author : Ian Dobson
- 'Inputs : None
- 'Outputs : None
- 'Limitations : The i2c bus needs to be initalised before calling this routine
- '
- ' The graphic needs to be selected with restore before calling
- ' this routine
- ' The memory map of the display is 8x128 bytes per line and
- ' 8 lines
- 'Date : 15.12.2014
- Dim Xi As Byte
- Dim Yi As Byte
- I2cstart
- I2cwbyte &H78
- I2cwbyte &H80
- I2cwbyte 176 'Select Row
- I2cstop
- I2cstart
- I2cwbyte &H78
- I2cwbyte &H80
- I2cwbyte &H00
- I2cstop
- I2cstart
- I2cwbyte &H78
- I2cwbyte &H80
- I2cwbyte 16 'Select start column
- I2cstop
- I2cstart
- I2cwbyte &H78
- I2cwbyte &H80
- I2cstop
- I2cstart
- I2cwbyte &H78
- I2cwbyte &H40
- For Yi = 1 To 128
- For Xi = 1 To 8
- Read Send
- I2cwbyte Send
- Next Xi
- Next Yi
- I2cstop
- End Sub
-
- Posty: 21
- Rejestracja: 23 kwie 2017, 13:11
Re: Pliki *BGF na karcie SD w bascom.
Mam procedurę zapisu i odczytu tekstu. Jak to ogarnąć z binem?
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Sub Zapisz :
- Open "plik.txt" For Append As #2
- Write #2 , Tekst
- Flush #2
- Close #2
- Waitms 30
- Setfont Font8x8tt
- Cls
- Lcdat , 1 , 1 , "Zapis na SD:"
- Lcdat , 2 , 1 , Tekst
- End Sub
- '---------------------------------
- Sub Czytaj :
- Local E As Byte
- For E = 1 To 20
- Z(e) = ""
- Next E
- E = 0
- S = Dir( "*.txt")
- Ff = Freefile()
- Open S For Input As #ff
- Do
- Incr E
- Line Input #ff , Z(e)
- Waitus 10
- Loop Until Eof(ff) <> 0
- Close #ff
- Waitms 30
- Setfont Font8x8tt
- Cls
- Lcdat , 2 , 1 , "Odczyt z SD:"
- Lcdat , 1 , 1 , Z(1)
- Lcdat , 2 , 1 , Z(2)
- Lcdat , 3 , 1 , Z(3)
- Lcdat , 4 , 1 , Z(4)
- Lcdat , 5 , 1 , Z(5)
- Lcdat , 6 , 1 , Z(6)
- Lcdat , 7 , 1 , Z(7)
- Lcdat , 8 , 1 , Z(8)
- End Sub
- '-------------------------------------------------------------------------------
- Sub Usun
- Kill "plik.txt"
- Waitms 300
- Cls
- End Sub