当前位置:首页 > 技术 > Python > 正文内容

micropython 使用ili9163显示IP地址

watrt6个月前 (01-04)Python690

mian.py

exec(open('./wifi.py').read(),globals())
exec(open('./tft.py').read(),globals())

wifi.py

import network
import machine
import ntptime
import time
nic = network.WLAN(network.STA_IF) # create station interface
nic.active(True)       # activate the interface
wifilist=[['028sd.com','8888'],['ZCWH','0000']]
for info in wifilist:
  nic.connect(info[0],info[1]) # connect to an AP
  wificonut=10
  while nic.status()==1001 and wificonut>0:
    print("连接到:%s=>%s" % (info[0],wificonut))
    wificonut-=1
    time.sleep(1)

nic.config('mac')      # get the interface's MAC address
nic.ifconfig()         # get the interface's IP/netmask/gw/DNS addresses
ntptime.settime()
rtc=machine.RTC()

tft.py

from machine import Pin, SPI
from ili9163 import ILI9163_SPI,ILI9163
BL = Pin(12, Pin.OUT)
BL.on()
VCC = Pin(14, Pin.OUT)
VCC.on()
spi = SPI(baudrate=4000000,sck=Pin(26), mosi=Pin(25),miso=Pin(4))  #miso=Pin(4)是无交的因为必须配置所以乱写的
ili = ILI9163_SPI(128, 160, spi, Pin(33), Pin(32), Pin(22))

ili.fill(0xFFFF)

ili.fill_rect(5,5,56,50,ili.brg(r=255))

ili.fill_rect(66,5,56,50,ili.brg(b=255))
ili.fill_rect(5,60,118,50,ili.brg(g=255))
ili.fill_rect(5,115,118,50,ili.brg(255,0,204))
ili.show()
ili.text('%s' % nic.ifconfig()[0], 8, 120, 0xFFFF)
ili.text('%s' % nic.ifconfig()[1], 8, 130, 0xFFFF)
ili.text('%s' % nic.ifconfig()[2], 8, 140, 0xFFFF)
ili.text('RAM:', 70, 18, 0xFFFF)
ili.text('%sKb' % (gc.mem_free()//1024), 70, 30, 0xFFFF)
ili.text('HI!', 10, 16, ili.brg(b=255))
ili.text('FUKUN!', 10, 26, ili.brg(b=255))
ili.text('DATE:%s-%s-%s'%(rtc.datetime()[0],rtc.datetime()[1],rtc.datetime()[2]), 8, 73, ili.brg(b=255))
ili.text('TIME:%s:%s:%s'%(rtc.datetime()[4],rtc.datetime()[5],rtc.datetime()[6]), 8, 88, ili.brg(b=255))
ili.show()

ili9163.py  模块文件

import time
from micropython import const
import framebuf
font={
    0x0020:[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
    0x0021:[0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00],
    0x0022:[0x00, 0x28, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
    0x0023:[0x00, 0x00, 0x28, 0x28, 0xFC, 0x28, 0x50, 0xFC, 0x50, 0x50, 0x00, 0x00],
    0x0024:[0x00, 0x20, 0x78, 0xA8, 0xA0, 0x60, 0x30, 0x28, 0xA8, 0xF0, 0x20, 0x00],
    0x0025:[0x00, 0x00, 0x48, 0xA8, 0xB0, 0x50, 0x28, 0x34, 0x54, 0x48, 0x00, 0x00],
    0x0026:[0x00, 0x00, 0x20, 0x50, 0x50, 0x78, 0xA8, 0xA8, 0x90, 0x6C, 0x00, 0x00],
    0x0027:[0x00, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
    0x0028:[0x00, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, 0x00],
    0x0029:[0x00, 0x40, 0x20, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x20, 0x40, 0x00],
    0x002A:[0x00, 0x00, 0x00, 0x20, 0xA8, 0x70, 0x70, 0xA8, 0x20, 0x00, 0x00, 0x00],
    0x002B:[0x00, 0x00, 0x20, 0x20, 0x20, 0xF8, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00],
    0x002C:[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x80],
    0x002D:[0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
    0x002E:[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00],
    0x002F:[0x00, 0x08, 0x10, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x00],
    0x0030:[0x00, 0x00, 0x70, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00],
    0x0031:[0x00, 0x00, 0x20, 0x60, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00, 0x00],
    0x0032:[0x00, 0x00, 0x70, 0x88, 0x88, 0x10, 0x20, 0x40, 0x80, 0xF8, 0x00, 0x00],
    0x0033:[0x00, 0x00, 0x70, 0x88, 0x08, 0x30, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00],
    0x0034:[0x00, 0x00, 0x10, 0x30, 0x50, 0x50, 0x90, 0x78, 0x10, 0x18, 0x00, 0x00],
    0x0035:[0x00, 0x00, 0xF8, 0x80, 0x80, 0xF0, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00],
    0x0036:[0x00, 0x00, 0x70, 0x90, 0x80, 0xF0, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00],
    0x0037:[0x00, 0x00, 0xF8, 0x90, 0x10, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00],
    0x0038:[0x00, 0x00, 0x70, 0x88, 0x88, 0x70, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00],
    0x0039:[0x00, 0x00, 0x70, 0x88, 0x88, 0x88, 0x78, 0x08, 0x48, 0x70, 0x00, 0x00],
    0x003A:[0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00],
    0x003B:[0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00],
    0x003C:[0x00, 0x04, 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00],
    0x003D:[0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00],
    0x003E:[0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00],
    0x003F:[0x00, 0x00, 0x70, 0x88, 0x88, 0x10, 0x20, 0x20, 0x00, 0x20, 0x00, 0x00],
    0x0040:[0x00, 0x00, 0x70, 0x88, 0x98, 0xA8, 0xA8, 0xB8, 0x80, 0x78, 0x00, 0x00],
    0x0041:[0x00, 0x00, 0x20, 0x20, 0x30, 0x50, 0x50, 0x78, 0x48, 0xCC, 0x00, 0x00],
    0x0042:[0x00, 0x00, 0xF0, 0x48, 0x48, 0x70, 0x48, 0x48, 0x48, 0xF0, 0x00, 0x00],
    0x0043:[0x00, 0x00, 0x78, 0x88, 0x80, 0x80, 0x80, 0x80, 0x88, 0x70, 0x00, 0x00],
    0x0044:[0x00, 0x00, 0xF0, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0xF0, 0x00, 0x00],
    0x0045:[0x00, 0x00, 0xF8, 0x48, 0x50, 0x70, 0x50, 0x40, 0x48, 0xF8, 0x00, 0x00],
    0x0046:[0x00, 0x00, 0xF8, 0x48, 0x50, 0x70, 0x50, 0x40, 0x40, 0xE0, 0x00, 0x00],
    0x0047:[0x00, 0x00, 0x38, 0x48, 0x80, 0x80, 0x9C, 0x88, 0x48, 0x30, 0x00, 0x00],
    0x0048:[0x00, 0x00, 0xCC, 0x48, 0x48, 0x78, 0x48, 0x48, 0x48, 0xCC, 0x00, 0x00],
    0x0049:[0x00, 0x00, 0xF8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xF8, 0x00, 0x00],
    0x004A:[0x00, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x90, 0xE0, 0x00],
    0x004B:[0x00, 0x00, 0xEC, 0x48, 0x50, 0x60, 0x50, 0x50, 0x48, 0xEC, 0x00, 0x00],
    0x004C:[0x00, 0x00, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x44, 0xFC, 0x00, 0x00],
    0x004D:[0x00, 0x00, 0xD8, 0xD8, 0xD8, 0xD8, 0xA8, 0xA8, 0xA8, 0xA8, 0x00, 0x00],
    0x004E:[0x00, 0x00, 0xDC, 0x48, 0x68, 0x68, 0x58, 0x58, 0x48, 0xE8, 0x00, 0x00],
    0x004F:[0x00, 0x00, 0x70, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00],
    0x0050:[0x00, 0x00, 0xF0, 0x48, 0x48, 0x70, 0x40, 0x40, 0x40, 0xE0, 0x00, 0x00],
    0x0051:[0x00, 0x00, 0x70, 0x88, 0x88, 0x88, 0x88, 0xE8, 0x98, 0x70, 0x18, 0x00],
    0x0052:[0x00, 0x00, 0xF0, 0x48, 0x48, 0x70, 0x50, 0x48, 0x48, 0xEC, 0x00, 0x00],
    0x0053:[0x00, 0x00, 0x78, 0x88, 0x80, 0x60, 0x10, 0x08, 0x88, 0xF0, 0x00, 0x00],
    0x0054:[0x00, 0x00, 0xF8, 0xA8, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00, 0x00],
    0x0055:[0x00, 0x00, 0xCC, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x30, 0x00, 0x00],
    0x0056:[0x00, 0x00, 0xCC, 0x48, 0x48, 0x50, 0x50, 0x30, 0x20, 0x20, 0x00, 0x00],
    0x0057:[0x00, 0x00, 0xA8, 0xA8, 0xA8, 0x70, 0x50, 0x50, 0x50, 0x50, 0x00, 0x00],
    0x0058:[0x00, 0x00, 0xD8, 0x50, 0x50, 0x20, 0x20, 0x50, 0x50, 0xD8, 0x00, 0x00],
    0x0059:[0x00, 0x00, 0xD8, 0x50, 0x50, 0x20, 0x20, 0x20, 0x20, 0x70, 0x00, 0x00],
    0x005A:[0x00, 0x00, 0xF8, 0x90, 0x10, 0x20, 0x20, 0x40, 0x48, 0xF8, 0x00, 0x00],
    0x005B:[0x00, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x38, 0x00],
    0x005C:[0x00, 0x40, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, 0x10, 0x08, 0x00, 0x00],
    0x005D:[0x00, 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x70, 0x00],
    0x005E:[0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
    0x005F:[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC],
    0x0060:[0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
    0x0061:[0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, 0x38, 0x48, 0x3C, 0x00, 0x00],
    0x0062:[0x00, 0x00, 0xC0, 0x40, 0x40, 0x70, 0x48, 0x48, 0x48, 0x70, 0x00, 0x00],
    0x0063:[0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x48, 0x40, 0x40, 0x38, 0x00, 0x00],
    0x0064:[0x00, 0x00, 0x18, 0x08, 0x08, 0x38, 0x48, 0x48, 0x48, 0x3C, 0x00, 0x00],
    0x0065:[0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, 0x78, 0x40, 0x38, 0x00, 0x00],
    0x0066:[0x00, 0x00, 0x1C, 0x20, 0x20, 0x78, 0x20, 0x20, 0x20, 0x78, 0x00, 0x00],
    0x0067:[0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x48, 0x30, 0x40, 0x78, 0x44, 0x38],
    0x0068:[0x00, 0x00, 0xC0, 0x40, 0x40, 0x70, 0x48, 0x48, 0x48, 0xEC, 0x00, 0x00],
    0x0069:[0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0x20, 0x20, 0x20, 0x70, 0x00, 0x00],
    0x006A:[0x00, 0x00, 0x10, 0x00, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0xE0],
    0x006B:[0x00, 0x00, 0xC0, 0x40, 0x40, 0x5C, 0x50, 0x70, 0x48, 0xEC, 0x00, 0x00],
    0x006C:[0x00, 0x00, 0xE0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xF8, 0x00, 0x00],
    0x006D:[0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xA8, 0xA8, 0xA8, 0xA8, 0x00, 0x00],
    0x006E:[0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x48, 0x48, 0x48, 0xEC, 0x00, 0x00],
    0x006F:[0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, 0x48, 0x48, 0x30, 0x00, 0x00],
    0x0070:[0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x48, 0x48, 0x48, 0x70, 0x40, 0xE0],
    0x0071:[0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x48, 0x48, 0x48, 0x38, 0x08, 0x1C],
    0x0072:[0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x60, 0x40, 0x40, 0xE0, 0x00, 0x00],
    0x0073:[0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x40, 0x30, 0x08, 0x78, 0x00, 0x00],
    0x0074:[0x00, 0x00, 0x00, 0x20, 0x20, 0x70, 0x20, 0x20, 0x20, 0x18, 0x00, 0x00],
    0x0075:[0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x48, 0x48, 0x48, 0x3C, 0x00, 0x00],
    0x0076:[0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x48, 0x50, 0x30, 0x20, 0x00, 0x00],
    0x0077:[0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xA8, 0x70, 0x50, 0x50, 0x00, 0x00],
    0x0078:[0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x50, 0x20, 0x50, 0xD8, 0x00, 0x00],
    0x0079:[0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x48, 0x50, 0x30, 0x20, 0x20, 0xC0],
    0x007A:[0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x10, 0x20, 0x20, 0x78, 0x00, 0x00],
    0x007B:[0x00, 0x18, 0x10, 0x10, 0x10, 0x20, 0x10, 0x10, 0x10, 0x10, 0x18, 0x00],
    0x007C:[0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10],
    0x007D:[0x00, 0x60, 0x20, 0x20, 0x20, 0x10, 0x20, 0x20, 0x20, 0x20, 0x60, 0x00],
    0x007E:[0x40, 0xA4, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
    0x007F:[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
    0x4ECA:[0x04, 0x00, 0x0A, 0x00, 0x11, 0x00, 0x20, 0x80, 0xC8, 0x60, 0x04, 0x00, 0x00, 0x00, 0x7F, 0x80,
    0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00],
    0x5929:[0x00, 0x00, 0x7F, 0xC0, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0xFF, 0xE0, 0x04, 0x00, 0x0A, 0x00,
    0x0A, 0x00, 0x11, 0x00, 0x20, 0x80, 0xC0, 0x60],
    0x597D:[0x20, 0x00, 0x27, 0xC0, 0x20, 0x40, 0xF8, 0x80, 0x49, 0x00, 0x49, 0x00, 0x4F, 0xE0, 0x91, 0x00,
    0x51, 0x00, 0x21, 0x00, 0x51, 0x00, 0x8B, 0x00],
    0x6C14:[0x20, 0x00, 0x3F, 0xE0, 0x40, 0x00, 0xBF, 0xC0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x80, 0x00, 0x80,
    0x00, 0x80, 0x00, 0xA0, 0x00, 0x60, 0x00, 0x20],
    0x771F:[0x04, 0x00, 0x7F, 0xC0, 0x04, 0x00, 0x3F, 0x80, 0x20, 0x80, 0x3F, 0x80, 0x20, 0x80, 0x3F, 0x80,
    0x20, 0x80, 0xFF, 0xE0, 0x11, 0x00, 0x20, 0x80],
}
class ILI9163(framebuf.FrameBuffer):
    def __init__(self, width, height):
        self.width = width
        self.height = height
        self.buffer = bytearray(self.width * self.height *2)
        super().__init__(self.buffer, self.width, self.height, framebuf.RGB565)
        self.init_display()

    def init_display(self):
        self.write_cmd(0x11) # Exit Sleep

        time.sleep_ms(20)

        self.write_cmd(0x26, [0x04]) # Set Default Gamma
        self.write_cmd(0xB1, [0x08,0x08]) # Set Frame Rate
        self.write_cmd(0xC0, [0x0a,0x02]) # Set VRH1[4:0] & VC[2:0] for VCI1 & GVDD
        self.write_cmd(0xC1, [0x03]) # Set BT[2:0] for AVDD & VCL & VGH & VGL
        self.write_cmd(0xC5, [0x4f,0x5a]) # Set VMH[6:0] & VML[6:0] for VOMH & VCOML

        self.write_cmd(0x3a, [0x55]) # Set Color Format, 5=16 bit,3=12 bit
        self.write_cmd(0x36, [0xc0]) # RGB

        self.write_cmd(0x2A, [0,0,0,self.width]) # Set Column Address
        self.write_cmd(0x2B, [0,0,0,self.height]) # Set Page Address

        self.write_cmd(0xB4, [0]) #  display inversion
        self.write_cmd(0xC7, [0x40])
        self.write_cmd(0xf2, [0x01]) # Enable Gamma bit
        self.write_cmd(0xE0, [0x3f,0x25,0x1c,0x1e,0x20,0x12,0x2a,0x90,0x24,0x11,0x00,0x00,0x00,0x00,0x00])
        self.write_cmd(0xE1, [0x20,0x20,0x20,0x20,0x05,0x00,0x15,0xa7,0x3d,0x18,0x25,0x2a,0x2b,0x2b,0x3a])
        
        self.write_cmd(0xB7, [0,0])

        self.write_cmd(0x29) #  Display On
        self.write_cmd(0x2C) #  reset frame ptr

        self.fill(0)
        self.show()

    def poweroff(self):
        pass

    def poweron(self):
        self.write_cmd(0x29)

    def contrast(self, contrast):
        pass

    def invert(self, invert):
        pass

    def show(self):
        x0 = 0
        x1 = self.width - 1

        y0 = 0
        y1 = self.height + 0 - 1

        self.write_cmd(0x2A, [x0, 0, x1])
        self.write_cmd(0x2B, [y0, 0, y1])
        self.write_cmd(0x2C)
        self.write_data(self.buffer)


class ILI9163_SPI(ILI9163):
    def __init__(self, width, height, spi, dc, res, cs):
        self.rate = 40 * 1024 * 1024
        
        dc.init(dc.OUT, value=0)
        res.init(res.OUT, value=0)
        cs.init(cs.OUT, value=1)
        self.spi = spi
        self.dc = dc
        self.res = res
        self.cs = cs

        self.res(1)
        time.sleep_ms(1)
        self.res(0)
        time.sleep_ms(10)
        self.res(1)

        super().__init__(width, height)

    def write_cmd(self, cmd, data=None):
        self.spi.init(baudrate=self.rate, polarity=0, phase=0)
        
        self.cs(1)
        self.dc(0)
        self.cs(0)
        self.spi.write(bytearray([cmd]))

        if data != None:
            self.cs(1)
            self.dc(1)
            self.cs(0)
            self.spi.write(bytearray(data))
        self.cs(1)

    def write_data(self, buf):

        self.spi.init(baudrate=self.rate, polarity=0, phase=0)
        self.cs(1)
        self.dc(1)
        self.cs(0)
        self.spi.write(buf)
        self.cs(1)
    def brg(self, r=0,b=0,g=0):
        return ((b & 0xF8) << 8) | ((r & 0xFC) << 3) | (g >> 3)
        
    def drawCircle(self,x,y,r,c):
        for i in range(360):
          ax=round(x+r*math.cos(math.radians(i)))
          ay=round(y+r*math.sin(math.radians(i)))
          self.pixel(ax,ay,c)
          
    def drawFillCircle(self,x,y,r,c):
        for i in range(360):
          ax=round(x+r*math.cos(math.radians(i)))
          ay=round(y+r*math.sin(math.radians(i)))
          self.line(x,y,ax,ay,c)
    def textch(self,str="", x=0, y=0,c=0x0000):
      for s in str:
        chr=font[ord(s)]
        if ord(s)<127:
          font_width=6
        else:
          font_width=12
        for i in range(12):
          code=0x00
          if font_width>8:
            code|=chr[2*i]<<8
            code|=chr[2*i+1]
          else:
            code|=chr[i]<<8
          for j in range(font_width):
            if code<<j & 0x8000:
              self.pixel(x+j,y+i,c)
        x+=font_width
# Convert RGB888 to BRG565
# ((b & 0xF8) << 8) | ((r & 0xFC) << 3) | (g >> 3)

# Sample code
# ===========

# HSPI = 1
# VSPI = 2

# from machine import Pin, SPI
# spi = SPI(VSPI, sck=Pin(18), mosi=Pin(23))

# ili = ILI9163_SPI(128, 128, spi, Pin(2), Pin(4), Pin(15))

# ili.text('Hello World', 0, 0, 1)

ili9163.rar

esp32.rar 改进


分享给朋友:

相关文章

Python使用struct处理二进制(pack和unpack用法)

有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体. struct模块中最重要的三个函数是pack(), unpack(), calcsize()pack(fmt, v1, v2, ...)     按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流) un...

micropython中使用rtc设置时间

micropython中使用rtc设置时间from machine import RTC rtc = RTC() rtc.datetime((2017, 8, 23, 1, 12, 48, 0, 0)) # set a specific date and time print(rtc.datetime(...

python利用pyinstaller打包简明教程

安装pyinstallerpip install pyinstaller是最简单的安装方式,但也常常由于各种原因报错,这就需要我们通过whl文件来下载,但是whl文件安装也有考究,具体参考我之前的教程:Python安装whl文件那些坑,下载whl一般可以在whl文件仓库中找到,如果找不到就去第三方库的官网下载,我个人比较倾向于第二种。pyinstaller基本用法假如我们要打包一个demo.py文件,基本过程是:打开cmd,并切换到demo.py文件所在的目录,注意路径中不要有中文执行命令:py...

python编写的简单http请求和应答

响应(服务端)import machine import socket pins = [machine.Pin(i, machine.Pin.IN) for i in (0, 2, 4, 5, 12, 13, 14, 15)] adc = machine.ADC(0) html = &quo...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。