data = b'hello!'
>>> ''.join(['{:02x}'.format(b) for b in data])
'68656c6c6f'
转换成标准bytes的b’\xaa\xb1’转换为HEX
import binascii
mac_bytes = b'\xacg\xb27-\xcc'
mac_str = binascii.hexlify(mac_bytes).decode()
print(mac_str)
ac67b2372dcc
data = b'hello!'
>>> ''.join(['{:02x}'.format(b) for b in data])
'68656c6c6f'
转换成标准bytes的b’\xaa\xb1’转换为HEX
import binascii
mac_bytes = b'\xacg\xb27-\xcc'
mac_str = binascii.hexlify(mac_bytes).decode()
print(mac_str)
ac67b2372dcc
10_JPG_FILE_TO_RAM 348 8033040
10_JPG_RAM 4649 8027728
10_JPG_FILE 4663 7899792
解释:
读取10张JPG文件【320×240 平均10-20kb一张图片】 需要348ms
从内存中显示 JPG 10张 需要4649ms 【465ms/张】
从flash中读取JPG 10张需要4663ms 差距不明显【466ms/张】
如果投屏显示的话JPG文件相比rgb流不占优势毕竟解码时间太久,rgb流可以100ms左右
功能 显示当前股票信息
查询模块,查询ID下股票信息并记录
用户填写,id,股票数,购入价(默认填写日当日开盘价)
显示股票信息:默认显示股票信息(按照涨幅排序,按照盈利排序,按照持有数排序)【名称 股价 涨幅 盈利情况】
ST7789 最好焊接+模组 +供电模块+type-c USB( 19-20 io)
使用st7789 进行显示文件,并进行编辑:
默认8×8字体,320×240为30行 每行40个字符
开始过程:打开一个文件,按行读取,默认将每行作为一个字典,默认读取总计240个字符,按行显示,只保存240个字符的显示 ,若改行大于240字符则显示前段 ,类似seek去选择显示的。
光标位置保存,[行号,字符位置号],若要操作则对相应的光标处修改
读取键盘上下左右 删除 插入 ,按下esc 进入操作界面,w q wq qi dd yy 等vi编辑器操作指令
加入特殊指令 直接保存运行,类似F5,在本项目ESP32 PC中的第二块显示屏上使用。
字体切换 8×16 则15行每行40个字符, 切换数类似
1 导入自定义的micropython模块
在对应的ports/esp8266/modules 下添加py模块,只能添加PY模块,可以是文件夹,但是只能py模块。
上传文件保存到该目录,并记下位置,编译完成后自动删除。【使用shell脚本】,干脆都放在固定的目录 如modules下的add_modules下面。
2 导入需要编译的c模块
cmake添加:将测试通过的c模块存在micropython项目同级目录下,通过在根目录添加一个micropython.cmake文件在编译时导入这个模块即可【需要自己先测试 目前ulab st7789可以兼容】【lvgl需要在未来测试】
存在问题:没有cmake的模块怎么办,如.c的文件 怎么加入?
比如说这个汉字:https://github.com/wangshujun-tj/mpy-Framebuf-boost-code
modframebuf.c 和 font_asc.h复制到extmod目录
然后直接按照原本的编译方式就可以工作了
https://github.com/wangshujun-tj/mpy-Framebuf-boost-code
失败 1.20 1.19版本可用,1.23无法通过编译