3.16 haas506 2.0开发教程-example-JC035串口屏

news/2024/4/19 14:19:10/文章来源:https://blog.csdn.net/w_hizyf_m/article/details/126504466

haas506开发教程-example-JC035串口屏

  • JC350串口屏
      • 1.硬件说明
      • 2.软件说明
      • 3.调试软件
  • 实现
      • 1. 图片编辑
      • 2. 开发板测试
        • 案例连线
        • 代码
      • 3. 测试结果

JC350串口屏

案例使用的是3.5寸(JC035)集成串口屏,通过TTL串口进行连接.以下是JC350串口屏粗略介绍,详细信息自行翻阅资料.

1.硬件说明

  • 集成屏支持UART串行口(TX和RX两根线),其中TX为主控的数据发送端,RX为主 控的数据接收端,因此单片机和集成屏的连接只需要4根线连接即可.
  • 集成屏的TX和客户主机的TX连接,集成屏的RX和客户主机的RX连接,不需要 交叉连接。
    在这里插入图片描述
  • 集成串口屏默认为5V供电,如果客户主机系统只能提供2.8~3.3V供电电压的话, 需修改背面PCB的跳线电阻。

2.软件说明

  • 模块的显存和屏幕的分辨率是一一对应,如JC024模块的 显存为:240 * 320 * 2=153600字节,其中的2表示一个显存单元占2个字节(即16位)
  • 集成串口屏上电后自动完成各个功能部件的初始化(LCD、FLASH),因此,主机需 要等待1S左右,确保模块内部初始正常后才能够给它送指令,因此上电流程必须满足如下 的条件:
    在这里插入图片描述
  • 串口屏通过发送特定指令完成相应功能,使用简单.例如需要清除屏幕内容只需要通过TTL串口向屏幕发送CLR©即可,c表示清屏使用的背景颜色.
    在这里插入图片描述- 模块允许串口一次性最多发送24条指令,这样可以大大提高编程的效率,但一定要注意 指令的最后一定也要以\r\n为结束符,发送后的等待时间为最后一条指令的等待时间。

3.调试软件

JC035串口屏有自带的辅助测试软件,可以用来发送指令,处理图片.
在这里插入图片描述

实现

案例说明

  • 本案例简单模拟自动售货机购买商品界面流程 , 主要介绍串口屏的使用方法.
  • 案例代码流程:
    • 开机进入商品选择界面
    • 按下左键切换商品,
    • 按下右键进入支付界面,再次点击右键确认支付,按下左键取消支付

1. 图片编辑

使用开发工具将需要的图片素材下载到集成串口屏中.

  • 先将需要的素材像素处理成合适大小,案例使用的屏幕大小为480x320,图片像素最大为479*319.

  • 使用串口将电脑连接上集成串口屏,打开开发工具,打开 [连接] 打开对应串口
    在这里插入图片描述

  • 打开 [工具] → [图片编辑],按下图顺序将所需素材合并生成一个bin文件.
    在这里插入图片描述

  • 发送bin文件,等待写入完成
    在这里插入图片描述
    在这里插入图片描述

  • 查看bin档,可以看到每张图片的开始地址和像素大小(发送指令需要用到开始地址)
    在这里插入图片描述

2. 开发板测试

将集成串口屏连接开发板,烧写程序

案例连线

在这里插入图片描述

代码

如果要显示中文代码烧录时选择GB2312编码
在这里插入图片描述

mian.py

# coding=utf-8
# This is a sample Python script.
import utime
from driver import UART
from driver import GPIO#按键实例化
key1=GPIO(10,10)
key2=GPIO(10,10)
key1.open("key1")
key2.open("key2")#饮料属性设置
beverages = [2402754,2482754,2562754,2642754]
QR_code = ['雪碧','可乐','冰红茶','绿茶']
price = ['30元','40元','35元','60元']#左键设置
i = len(beverages)
flag1 = 0
def key1_callback(args):global flag1,n,payment,flag2flag1 +=1n = flag1%i #一次性发送指令 清屏,屏幕方向,二维码,价格按钮,商品图片UART_send("CLR(0);DIR(1);QRCODE(40,60,%s,200,2);BTN(90,230,64,32,%s,0,0,4,0);FSIMG(%d,240,60,200,200,0);\r\n"%(QR_code[n],price[n],beverages[n]))payment = Trueflag2 = Falseutime.sleep_ms(100)key1.disableIrq()key1.clearIrq()#右键设置
flag2 = False
payment = True
def key2_callback(args):global n,flag2,paymentif payment:if flag2:UART_send("CLR(0);DIR(1);BTN(160,100,64,32,'支付成功',0,0,3,0);\r\n")flag2 = Falseutime.sleep(1)UART_send("DIR(1);FSIMG(2097152,0,0,479,319,0);BTN(100,30,64,32,'请按左键选择商品',0,0,2,15);\r\n")#开机logo# UART_send("CLR(15);DIR(1);BTN(100,100,64,32,'请按左键选择商品',0,0,3,15);\r\n")payment = Falseelse:UART_send("CLR(0);DIR(1);BTN(60,100,64,32,'请确认是否支付%s?',0,0,4,0);BTN(400,270,64,32,'是',0,0,1,0);BTN(40,270,64,32,'否',0,0,2,0);\r\n"%price[n])flag2 = Trueutime.sleep(1)key2.disableIrq()key2.clearIrq()def UART_send(data):writeBuf0=bytearray(data)uart0.write(writeBuf0)if __name__ == '__main__':uart0=UART()uart0.open("serial1")utime.sleep(1)writeBuf0=bytearray("DIR(1);CLR(0);\r\n")uart0.write(writeBuf0)utime.sleep_ms(10)#开机选择商品界面UART_send("DIR(1);FSIMG(2097152,0,0,479,319,0);BTN(100,30,64,32,'请按左键选择商品',0,0,2,15);\r\n")utime.sleep_ms(1000)key1.enableIrq(key1_callback)key2.enableIrq(key2_callback) 

board.json

{"name": "haas506","version": "2.0.0","io": {"key1": {"type": "GPIO","port": 20,"dir": "irq","pull": "pullup","intMode":"rising"},"key2": {"type": "GPIO","port": 18,"dir": "irq","pull": "pullup","intMode":"rising"},"serial1":{"type":"UART","port":0,"dataWidth":8,"baudRate":115200,"stopBits":1,"flowControl":"disable","parity":"none"},"serial2":{"type":"UART","port":1,"dataWidth":8,"baudRate":115200,"stopBits":1,"flowControl":"disable","parity":"none"},"serial3":{"type":"UART","port":2,"dataWidth":8,"baudRate":115200,"stopBits":1,"flowControl":"disable","parity":"none"}},"debugLevel": "ERROR","repl":"enable","replPort":2}

3. 测试结果

  • 开机界面显示请添加图片描述
  • 按下左键可以进行商品切换请添加图片描述
    请添加图片描述
    按下右键进入支付界面请添加图片描述
    请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_3871.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2、一起探讨MySQL 安装

MySQL 安装 所有平台的 MySQL 下载地址为: 挑选你需要的 MySQL Community Server 版本及对应的平台。 注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。 Linux/UNIX 上安装 MySQL Linux平台上推荐使用RPM包…

北大肖臻老师《区块链技术与应用》系列课程学习笔记[26]以太坊-TheDao

一、TheDao 1.提出背景 重入攻击在现实中真的发生过,这个事件发生在2016年,在以太坊历史上赫赫有名,造成了以太坊的分裂,可以说以太坊的历史都被它改写。 比特币实现了去中心化的货币,以太坊实现了去中心化的合约&…

基于双碳背景和趋势讲述AcrelEMS企业微电网能效管理系统-Susie 周

1、引言 自工业化以来,全球地表温度一直处于上升趋势,已对全球生态系统、社会经济环境以及人类生活环境造成严重影响,在此背景下实现“双碳”目标势在必行。 2021年9月16日,国家发改委印发《完善能源消费强度和总量双控制度方案…

通过Docker安装ElasticSearch和Kibana

1、安装ElasticSearch(单节点) 1.1、创建docker网络 因为安装完ElasticSearch后还安装Kibana,为了让ElasticSearch和Kibana互联,因此我们得先创建一个docker网络 docker network create es-net1.2、加载镜像并运行 因为这里使用ElasticSearch的7.12.…

为什么现在西红柿都“硬邦邦”的,放几个星期都不会坏?为你解答

以前城市还没有大范围扩建的时候,农村里的人很多,每家每户都会把自家的田地大理的井井有条,吃什么从自己的菜园子里摘了,稍微洗一下就进锅。 黄瓜结的一个比一个脆甜,冬瓜长得一个比一个大,还有西红柿闻着…

图像修复论文阅读笔记------Image Inpainting for Irregular Holes Using Partial Convolutions

一、引言 不仅考虑了孔的大小,还考虑了孔是否与图像边界接触的影响。 为了正确处理不规则掩码,提出使用部分卷积层,包括掩码和重新归一化卷积操作,然后是掩码更新步骤。 论文的主要贡献 使用部分卷积和自动掩码更新步骤来实现…

Centos7搭建sftp服务器,开启SFTP上报日志

需求:192.168.56.103服务器搭建sftp服务,配置sftp上报日志(类似vsftpd的/var/log/xferlog) 1、创建用户组sftpgroup,添加用户sftpuser(密码为123456,不可登录,上传目录为upload&…

计基于安卓 Android 微信小程序的孕妇产后康复系统app

关于产后修复文章 1:产后修复:女人第二次生命绽放 女性在一生中有三次机会可以调整自己的体型,那就是初潮期、 产后、更年期。而较重要的就是产后这个阶段,据调查,女性体内的 荷尔蒙等雌激素能使经历过生育这一过程的女性寿命增加十年。 这个时期,女人的身体就好像一个打开的大…

4G多协议转MQTT工业智能网关BL110之二:包装清单

在安装使用BL110设备之前,请确认产品包装盒里是否具备以下材料: (以下材料图片仅供参考,如有出入或革新,请以实物为准!) l 1XBL110网关 BL110工业智能网关整机 l 1x 输入电源的4PIN 3.5mm接线…

【Wordpress】docker环境下wordpress网站安装ssl/tls证书

目录 一、前言 (一)ssl/tls是什么? (二)docker的wordpress怎么下载? 二、正文 (一)docker环境的wordpress介绍 (二)配置步骤 1、加载Apache SSL模块 2…

初识react笔记

https://reactjs.org 官网 在开始前,请确保你的电脑安装了node,不知道装没装,就命令行工具node -v 一下 一:安装官方脚手架create-react-app 第一种npm install -g create-react-appcreate-react-app 项目名称 第二种npx create…

视频流PS打包方式详解

文章目录 视频流PS打包方式详解 1 PS流概述 2 PS封装格式 2.1 PES格式详解 2.2 PS头封装格式 2.3 PS system header封装格式 2.4 PSM封装格式 3 PS流整包发送和分包发送 1 PS流概述 PS流: Program Stream(节目流),简称PS流,将一个或多个分组但有共…

【python】计算mel频率可能比你想象的要复杂一点

Mel计算公式 计算mel频率可以直接套用公式, 公式如下, m2595log10(1f700)m 2595 log_{10}(1 \frac{f} {700}) m2595log10​(1700f​) 所以实现上如下 import numpy as np import librosadef mel_calculate(freq):return 2595 * np.log10(1freq/700)…

猿创征文|小而巧的API文档生成工具之smart-doc

文章目录smart-doc介绍smart-doc特性smart-doc的最佳搭档谁在使用smart-docsmart-doc的优缺点smart-doc和swagger区别比较smart-doc的使用姿势姿势一姿势二姿势三(公司内部推荐使用)总结smart-doc介绍 一个 java restful api 文档生成工具,不…

为了进大厂!吃透了各大厂最新 3000+Java 面试题,啃完面试肯定妥了!

在很多企业,都有 KPI 考核,然后在此基础上还会弄个“末位淘汰”( 或者叫“人员优化”)。互联网大厂残酷现状在此,无法避免,为了助力程序员朋友们跳槽面试、升职加薪、职业困境,提高自己的技术,逃脱掉“人员…

【翻译】A Closed-form Solution to Universal Style Transfer

通用风格迁移的闭式解决方案 文章目录Abstract1. Introduction2. Related Work3. 动机4. Method5. Results5.1. 定性结果5.2. 定量结果5.3. 更多结果5.4. 限制条件6. 结论Abstract 通用风格转换试图明确地将特征空间的损失降到最低,因此它不需要对任何预先定义的风…

牛视源码定制,抖音矩阵系统,别和谐啊、、、

抖音SEO内容如何制作? 现在网上有很多这种关于自己行业的一些数据分析的一些文章,大家可以去看一下。 所以看到这里,我们把做好抖音SEO需要的步骤其实也就四步,但是过程是需要不断的测试和优化。 四、SEO如何优化? …

配置本地Maven仓库——IDEA配置本地Maven源

Maven基础配置 现在大多数都是使用maven管理项目所需的资源文件,可是因为maven的远程仓库多数都很难下载,所以我们可以通过配置国内镜像,配置本地maven源。 1、下载maven maven下载链接 2、maven下载后是一个压缩包,直接解压即可…

利用HFSS-API设计指数渐变传输线

学个Antenna是以天线仿真和调试为主,理论原理为辅的干货天线技术专栏,包括天线入门知识以及各类天线的原理简介、仿真软件建模、设计、调试过程及思路。如有想看到的内容或技术问题,可以在文尾写下留言。 ​摘要: 上节学个Antenna…

纵横网络靶场 刷题记录

目录 Modbus协议 MMS协议分析 大工UDP协议 工控蜜罐日志分析 隐信道数据安全分析 工控安全取证 隐藏的黑客 Modbus协议 黑客通过外网进入一家工厂的控制网络,之后对工控网络中的操作员站系统进行了攻击,最终通过工控协议破坏了正常的业务。我们得…