“指间ESP按键操作”的版本间的差异
502748957@qq.com(讨论 | 贡献) |
502748957@qq.com(讨论 | 贡献) |
||
第34行: | 第34行: | ||
**该程序使用板载TFT屏幕画出两个圆角矩形用于标识状态,非按下时为青色,按下时为黄色。 | **该程序使用板载TFT屏幕画出两个圆角矩形用于标识状态,非按下时为青色,按下时为黄色。 | ||
[[File:Tftbutton.png|600px|center]] | [[File:Tftbutton.png|600px|center]] | ||
− | ** | + | **程序详解:import为引用所需文件,包括display(屏幕驱动),Pin(IO口驱动) |
+ | <source lang="c++"> | ||
+ | import machine, display | ||
+ | from machine import Pin | ||
+ | </source> | ||
+ | 之后声明按键A与B | ||
+ | <source lang="c++"> | ||
+ | btA = Pin(0, Pin.IN) | ||
+ | btB = Pin(35, Pin.IN) | ||
+ | </source> | ||
+ | 初始化TFT并使用背景色"bkcolor"填充屏幕 | ||
+ | <source lang="c++"> | ||
+ | bkcolor = 0x333333 | ||
+ | |||
+ | tft = display.TFT() | ||
+ | tft.init(tft.ST7789) | ||
+ | |||
+ | tft.clear() | ||
+ | tft.rect(0, 0, 240, 240, bkcolor, bkcolor) | ||
+ | </source> | ||
+ | 主程序中扫描按键,按下则绘制黄色圆角矩形,否则绘制青色圆角矩形 | ||
+ | <source lang="c++"> | ||
+ | while True: | ||
+ | if btA.value(): | ||
+ | tft.roundrect(10, 110, 50, 50, 10, bkcolor, 0x00F0F0) | ||
+ | else: | ||
+ | tft.roundrect(10, 110, 50, 50, 10, bkcolor, 0xF0F000) | ||
+ | if btB.value(): | ||
+ | tft.roundrect(180, 110, 50, 50, 10, bkcolor, 0x00F0F0) | ||
+ | else: | ||
+ | tft.roundrect(180, 110, 50, 50, 10, bkcolor, 0xF0F000) | ||
+ | </source> | ||
<br> | <br> | ||
|} | |} |
2019年7月25日 (四) 06:39的最新版本
指间ESP按键操作
import machine, display
from machine import Pin
btA = Pin(0, Pin.IN)
btB = Pin(35, Pin.IN)
bkcolor = 0x333333
tft = display.TFT()
tft.init(tft.ST7789)
tft.clear()
tft.rect(0, 0, 240, 240, bkcolor, bkcolor)
while True:
if btA.value():
tft.roundrect(10, 110, 50, 50, 10, bkcolor, 0x00F0F0)
else:
tft.roundrect(10, 110, 50, 50, 10, bkcolor, 0xF0F000)
if btB.value():
tft.roundrect(180, 110, 50, 50, 10, bkcolor, 0x00F0F0)
else:
tft.roundrect(180, 110, 50, 50, 10, bkcolor, 0xF0F000)
import machine, display
from machine import Pin
之后声明按键A与B btA = Pin(0, Pin.IN)
btB = Pin(35, Pin.IN)
初始化TFT并使用背景色"bkcolor"填充屏幕 bkcolor = 0x333333
tft = display.TFT()
tft.init(tft.ST7789)
tft.clear()
tft.rect(0, 0, 240, 240, bkcolor, bkcolor)
主程序中扫描按键,按下则绘制黄色圆角矩形,否则绘制青色圆角矩形 while True:
if btA.value():
tft.roundrect(10, 110, 50, 50, 10, bkcolor, 0x00F0F0)
else:
tft.roundrect(10, 110, 50, 50, 10, bkcolor, 0xF0F000)
if btB.value():
tft.roundrect(180, 110, 50, 50, 10, bkcolor, 0x00F0F0)
else:
tft.roundrect(180, 110, 50, 50, 10, bkcolor, 0xF0F000)
|