用openMV点亮自己的屏幕
openMV官方配套的屏幕实在贵得一批,一块SPI屏要上百块,自己买才二、三十。都是SPI屏,为啥不能用自己的屏幕代替配套的呢
# myLcd.py
# TFT 驱动IC ILI9341
# 最大分辨率 240*320 QVGA 2.2寸
import time
from pyb import Pin, SPI
# IO接线方法
# 屏 openMV
# SDO/MISO ---> P1(MISO)
# LED ---> P6 (背光控制)
# SCK ---> P2(SCLK)
# SDI/MOSI ---> P0(MOSI)
# DO/RS ---> P5
# RESET ---> P4
# CS ---> P3
# GND ---> GND
# VCC ---> 3.3V
cs = Pin("P3", Pin.OUT_OD)
rst = Pin("P4", Pin.OUT_PP)
rs = Pin("P5", Pin.OUT_PP)
bl = Pin("P6", Pin.OUT_PP) # 背光控制
# 定义横屏/竖屏
USE_HORIZONTAL = True # 定义横屏
IMAGE_INVER = False # 旋转180°
# TFT resolution 240*320
X_MIN_PIXEL = 0
Y_MIN_PIXEL = 0
if USE_HORIZONTAL:
X_MAX_PIXEL = 320 # 定义屏幕宽度
Y_MAX_PIXEL = 240 # 定义屏幕高度
else:
X_MAX_PIXEL = 240 # 定义屏幕宽度
Y_MAX_PIXEL = 320 # 定义屏幕高度
# 常用颜色表
RED = 0XF800
GREEN = 0X07E0
BLUE = 0X001F
BLACK = 0X0000
YELLOW = 0XFFE0
WHITE = 0XFFFF
CYAN = 0X07FF
BRIGHT_RED = 0XF810
GRAY1 = 0X8410
GRAY2 = 0X4208
# OpenMV 仅留出 SPI2 总线
spi = SPI(2, SPI.MASTER, baudrate=int(10000000000/66), polarity=0, phase=0)
# SPI 写命令
def write_command_byte(c):
cs.low()
rs.low(