注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
我爱下载的个人空间 https://home.eeworld.com.cn/space-uid-101026.html [收藏] [复制] [分享] [RSS]
日志

【得捷电子Follow me第4期】入门任务

已有 258 次阅读2024-2-1 13:27 |个人分类:产品评测

【得捷电子Follow me4期】入门任务:开发环境搭建,BLINK,驱动液晶显示器

硬件环境

按照得捷电子Follow me第4期任务要求,采购了W5500-EVB-PICO(下称主控模块)和AdafruitSharp Memory Display(下称显示模块)两个板卡。
图1 活动要求采购板卡
图2 W5500-EVB-PICO板卡
图3 AdafruitSharp Memory Display显示模块
显示模块是通过SPI接口操作的,所以主控模块需要选定一个合适引脚完成驱动。
图4 显示模块和主控模块引脚连接关系
图5 模块实物
目前使用到的IO引脚分配关系表:
I/O 引脚名称 描述
I GP16 连接到W5500的MISO
O GP17 连接到W5500的CSn
O GP18 连接到W5500的SCLK
O GP19 连接到W5500的MOSI
O GP20 连接到W5500的RSTn
I GP21 连接到W5500的INTn
I GP24 VBUS sense - high if VBUS is present, else low
O GP25 用户LED
I GP29 Used in ADC mode (ADC3) to measure VSYS/3
O GP15 连接到显示模块DI
O GP14 连接到显示模块CLK
O GP13 连接到显示模块CS

软件环境

经过多方比对,这里选择CircuitPython作为本次测试的基本软件平台。
图6 CircuitPython固件下载
固件的安装:
固件安装的过程网络教程非常多,这个不在赘述。
Adafruit库的下载:
这里需要注意,我们应该选择和CircuitPython版本对应的库下载,例如前面选择8.2.9版本,这里就要选择图中红色圈出来的这个库。库在github上,还是比较难下载的,多试几次还是可以成功的。
图7 库的下载
库的安装:
当我们间CircuitPython成功的烧录到主控模块后,重新连接USB线或复位一下模块,可以看到在系统中会多出来一个名字为CIRCUITPY的盘符,盘符中包含了一个文件夹,名字为“lib”,如果没有的话,我们需要自己创建。
解压前面的下载的库压缩文件,其中的库文件扩展名可能为mpy,没关系,系统可以正确识别。我们选择库中我们需要的库文件,并且把它们复制到lib文件夹下,备用。安装完库文件后如下图所示。
图8 库文件安装后目录

测试代码

通过Tonny软件完成测试程序的编辑和上传及运行调试。代码如下:
# 测试任务1 入门任务

import time
import board
import busio
import digitalio

import adafruit_sharpmemorydisplay

def led_flush():
    led.value = not led.value
    time.sleep(0.5)

def clear_disp():
    # Clear the display.  Always call show after changing pixels to make the display
    # update visible!
    display.fill(1)
    display.show()

def disp_helloworld():
    print("hello world")
    display.fill(1)
    display.text(" hello world!", 30, 50, 0)
    display.show()

if __name__ == '__main__':
    led = digitalio.DigitalInOut(board.GP25)
    led.direction = digitalio.Direction.OUTPUT

    # Initialize SPI bus and control pins
    spi = busio.SPI(board.GP14, MOSI=board.GP15)
    scs = digitalio.DigitalInOut(board.GP13)  # inverted chip select

    # pass in the display size, width and height, as well
    # display = adafruit_sharpmemorydisplay.SharpMemoryDisplay(spi, scs, 96, 96)
    display = adafruit_sharpmemorydisplay.SharpMemoryDisplay(spi, scs, 144, 168)

    clear_disp()
    disp_helloworld()
    while True:
        led_flush()


 

运行输出

程序运行后,在显示模块中间显示了一行文字“hello world”,同时小灯闪烁,入门任务的要求达到了。

 

 

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章