M5Stack/ESP32学习笔记(14)—— StickC的显示屏

      把M5Stack的UIFlow刷成了没有UIFlow的MicroPython以后,我又尝试了把手上的StickC刷成MicroPython。

      StickC使用了一颗型号为ESP32-PICO-D4 (revision 1)的芯片,4M的Flash ROM,没有PSRAM。TFT LCD驱动芯片为ST7735S。留意到了m5stack团队改的Lobo MicroPython似乎是把ST7735的驱动模块给去掉了,所以我使用了原版Lobo MicroPython。

编译过程,同M5Stack类似,但是需要注意:

  • menuconfig的时候需要把ROM大小改为4M
  • 不要打开SPIRAM的支持选项
  • 串口烧写速率不要使用921600,改为115200
  • Use Display module - Enable support for SPI TFT displays 要打开
  • ./BUILD.sh flash之前先./BUILD.sh erase

烧写成功后,用./BUILD.sh monitor就可以观察启动过程了。
注意,刷了Lobo MicroPython后,开关键的复位功能无效了,不过按6秒关机的功能还在。

本来以为Lobo MicroPython自带ST7735的驱动,点亮TFT LCD应该无压力,可惜我想错了。

首先发现StickC的TFT LCD的电源和背光并不是直接接到电源或者由GPIO控制的,而是由AXP192输出和控制的。所以,首先要对AXP192操作,打开TFT LCD的电源和背光。

import machine
i2c=machine.I2C(0,sda=21,scl=22)
i2c.writeto(0x34,'\x10\xff')  # OLED_VPP Enable
i2c.writeto(0x34,'\x28\xff')  # Enable LDO2&LDO3, LED&TFT 3.3V
i2c.writeto(0x34,'\x12\x4d')  # Enable DC-DC1, OLED_VDD, 5B V_EXT

在REPL执行下列命令后,(注意:miso其实可以随意指定)

import display
tft = display.TFT()
tft.init(tft.ST7735, width=80, height=160, speed=10000000, rst_pin=18, miso=19, mosi=15, clk=13, cs=5, dc=23 , bgr=0x08)

没显示。

又试了下面两个

import display
tft = display.TFT()
tft.init(tft.ST7735R, width=80, height=160, speed=10000000, rst_pin=18, miso=19, mosi=15, clk=13, cs=5
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值