0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

节省1个MCU?大彩串口屏提供PWM/AD/IO/UART扩展口二次开发

广州大彩串口屏 2022-09-09 16:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大彩君最近一直收到客户反馈:

1. 贵司的明星产品医用级M070能否增加U盘?我们需要大量数据导出和升级。

2. 我需要屏幕支持2路IO输出,接报警器和报警灯。

3. 是否支持PWM输出,直接屏幕控制电机或呼吸灯?

4. 贵司产品能再扩展一路串口输出吗,需要走自定义协议?

5. 可以AD采集温湿度型号吗?

6. 你们支持外接矩阵键盘吗?

这一次,研发工程师花1个月精心打造,采用成本增加3毛钱的方式统统完成了大家的期望,产品成功批量上市。

订购型号:DC80480M070_3111_0T(电阻)、DC80480M070_3111_0C(电容),价格非常美丽。

该产品除了给用户省去一个MCU,更方便产品的布线,所有功能都可以使用LUA脚本二次开发,丰富的例程和技术支持助您产品快速升级。

图片

产品图片

图片

核心硬件图

产品特点

1、具备组态串口屏所有常规功能,支持U盘功能;

2、新增加的扩展口接口,支持3.3V电源输出、ADC、串口、PWM、IO输入、IO输出;

3、支持给3.3V外设供电;

4、ADC电压测量,可以检测多达10个按键输入;

5、新产品实现双串口的数据通信,扩展口拥有一个串口,对原来主串口没有影响。新增加的串口在LUA中自定义数据接收和发送;

6、4个IO口,可以根据需求配置输入、输出模式,电平3.3V。

接口介绍

功能简介,如表格5-1所示。

表格 5-1功能介绍

功能

IO口/使能脚

介绍

3.3V

PD20

可以控制3.3V输出,电流500mA。

ADC输入

不需要配置IO,有专门的LUA API

分辨率是6bit,采样率是250Hz,支持电压0-1.77V。

IO输入、输出

PE5、PE9、PE10、PD21

可以输入/输出,电平3.3V。

PWM输出

不需要配置IO,有专门的LUA API

频率范围0Hz-4MHz,占空比范围0%-100%。

串口

UART3

LUA自定义串口发送、接收,电平3.3V。

接口介绍,如表格5-2所示。

序号

定义

描述

参考图

1

ADC

模数转换接口

图片

2

RX0

串口输入,接用户TXD端

3

TX0

串口输出,接用户RXD端

4

PWM

PWM输出

5

IO0

IO0输入/输出端

6

IO1

IO1输入/输出端

7

IO2

IO2输入/输出端

8

IO3

IO3输入/输出端

9

3V3OUT

电源输出端

10

GND

电源地

该产品除了给用户省去一个MCU,更方便产品的布线,所有功能都可以使用LUA脚本二次开发,丰富的例程和技术支持助您产品快速升级。

下面我们就一起看看如何使用LUA脚本进行二次应用开发。


电源开关

控制PD20使能3.3V输出。可以给外设供电。

核心API函数:

1.gpio_set_out (pin)

PIN引脚设置为输出模式

  • pin:引脚

2.gpio_set_value (pin,value)

设置输出PIN引脚为(高电平1/低电平0)

  • pin:引脚
  • value:输出电平

代码如程序清单 5-1所示。

程序清单 5-1电源开关程序

--初始化 gpio_set_out( POWER_EN_PD20 ) --关闭电源 gpio_set_value( POWER_EN_PD20,0 ) --打开电源 gpio_set_value( POWER_EN_PD20,1 )

ADC输入

可以检测电压值,电压方位支持0-1.77V。使用 status,data = get_key_adc_data()获取电压值。此例程通过ADC检测按键输入,共10个按键,每个按键按下的电压差值大约是0.17V。

核心API函数:

1、get_key_adc_data()

返回两个参数:

  • Status:状态,1表示有按键按下,17表示没有按键按下
  • data:按键按下时表示具体数值,数组范围0-59。按键没有按下时,数值会大于59。

代码如程序清单 5-2所示。

程序清单 5-2ADC输入检测

local status,data = get_key_adc_data()

IO输入、输出

4个GPIO,即可以检测输入,也可以用输出高低电平。

核心API函数:

1.gpio_set_in (pin)

PIN引脚设置为输入模式

  • pin:引脚

2.gpio_set_out (pin)

PIN引脚设置为输出模式

  • pin:引脚

3.gpio_set_value (pin,value)

设置输出PIN引脚为(高电平1/低电平0)

  • pin:引脚
  • value:输出电平

4.gpio_get_value (pin)

获取输入PIN引脚电平(高电平1/低电平0)

  • pin:引脚

代码如程序清单 5-3所示。

程序清单 5-3IO控制

--初始化IO为输出模式 gpio_set_out ( IO0_PE5 ) --设置IO输出低电平 gpio_set_value ( IO0_PE5, 0 ) --设置IO输出高电平 gpio_set_value ( IO0_PE5, 1 ) --初始化IO为输入模式 gpio_set_in ( IO0_PE5 ) --获取IO电平 local io0_num = gpio_get_value ( IO0_PE5 )

PWM输出

可以设置PWM输出,频率范围0Hz-4MHz,占空比范围0%-100%。

核心API函数:

1、set_pwm(freq,duty)

返回两个参数:

  • freq:频率,范围0Hz-4MHz。
  • duty:占空比,范围0%-100%。

代码如程序清单 5-4所示。

程序清单 5-4PWM控制

local pwm_freq = 100 local pwm_duty = 50 set_pwm( pwm_freq, pwm_duty )

串口

使用UART3的TX、RX。在LUA脚本实现串口数据发送、接收、解析。

在本例程中,把扩展口的TX0口和RX0口短接,形成短路,从而自发自收测试。

核心API函数:

1.uart_set_baudre3(baudrate)

设置串口3的波特率:串口3为屏幕和串口小助手通讯串口

  • baudrate:波特率,支持2400bps~961200bps

2.on_uart_recv_data3(packet)

串口3接收数据的回调函数,使用自定义串口指令触发此函数执行:

  • packet:接收的字节数组

3.uart_send_data3(packet)

通过串口3发送数据

  • packet:发送的字节数组,下标从0开始

代码如程序清单 5-5所示。

程序清单 5-5串口测试

--初始化串口3,设置波特率为115200 uart_set_baudrate3( 115200 ) --发送数据 local us_data={} us_data[0] = 0x5A --数据 us_data[1] = 0xA5 --数据 uart_send_data3( us_data ) --发送数组 -- 串口接收回调函数 function on_uart_recv_data3( packet ) local count = #( packet ) --计算长度 local string1 = '' --存放数据的临时变量 for i=0, count do --for循环把数据存到string1 string1 = string1 .. string.format( '%X', packet[i] ) end --接收完成,调用string1 print( string1 ) end

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 触摸屏
    +关注

    关注

    42

    文章

    2503

    浏览量

    122477
  • uart
    +关注

    关注

    22

    文章

    1319

    浏览量

    106963
  • 新品快讯
    +关注

    关注

    0

    文章

    11

    浏览量

    5731
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【请教】FPGA烧录软件工具二次开发问题

    请教各位大佬: Vivado 2018.3和Pango Design Suite 2025.1 这两款FPGA烧录软件工具能够二次开发吗?实现上位机控制软件调用它们,实现自动化的FPGA测试程序烧录和烧录成功的反馈信号。
    发表于 03-17 16:34

    宇树人形机器人的配置,核心代码,调试方法,二次开发接口

    宇树人形机器人的配置,核心代码,调试方法,二次开发接口
    的头像 发表于 12-10 09:05 5482次阅读

    先楫芯片赋能HPM生态灵巧手二次开发,工业控制/实验室原型速落地

    手动作精准度,更有HPMSDK提供FreeRTOS/ROS等丰富中间件,从底层驱动到应用层开发全流程覆盖,配合100万空载开合测试验证的稳定硬件,让二次开发既高效又可靠
    的头像 发表于 12-02 10:01 810次阅读
    先楫芯片赋能HPM生态灵巧手<b class='flag-5'>二次开发</b>,工业控制/实验室原型速落地

    将蜂鸟E203的内核移植到fpga之后该怎么进行二次开发呢?

    你们好!请问一下我将蜂鸟E203的内核移植到fpga之后该怎么进行二次开发呢?比如我想点亮板子上的led?驱动摄像头进行图像识别?这些该如何进行呢?蜂鸟有类似freedom studio这样的嵌入式开发平台吗?
    发表于 11-10 07:09

    直播回顾 | 掌握车载通信核心技术,虹科CAN总线实战:PCAN二次开发技术直播助您轻松拿捏总线开发“创新引擎

    1CAN总线二次开发:构建智能汽车“神经网络”的核心能力在“软件定义汽车”的时代,整车电子电气架构正从分布走向集中,车载网络的数据量和复杂度呈指数级增长。基于PCAN等专业工具的二次开发能力
    的头像 发表于 10-09 17:33 755次阅读
    直播回顾 | 掌握车载通信核心技术,虹科CAN总线实战:PCAN<b class='flag-5'>二次开发</b>技术直播助您轻松拿捏总线<b class='flag-5'>开发</b>“创新引擎

    【离线语音】安信可VC-01/02二次开发篇:自定义音频播放控制

    系列教程 【二次开发篇】虚拟开发环境搭建和分享 安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】事件和GPI
    的头像 发表于 09-25 16:34 984次阅读
    【离线语音】安信可VC-01/02<b class='flag-5'>二次开发</b>篇:自定义音频播放控制

    安信可VC-01/02二次开发篇: PWM输出

    系列教程 【二次开发篇】虚拟开发环境搭建和分享 安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】事件和GPI
    的头像 发表于 08-27 16:06 1148次阅读
    安信可VC-01/02<b class='flag-5'>二次开发</b>篇: <b class='flag-5'>PWM</b>输出

    安信可VC-01/02二次开发篇: 事件和GPIO控制

    系列教程 【二次开发篇】虚拟开发环境搭建和分享 安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】事件和GPIO控
    的头像 发表于 08-19 14:02 1360次阅读
    安信可VC-01/02<b class='flag-5'>二次开发</b>篇: 事件和GPIO控制

    Air780EGH串口电路设计攻略:硬件工程师必知要点

    。 本文主要从硬件设计的角度,分享串口设计中的一些关键注意点,软件开发方面不做深入探讨。 一、串口相关管脚 Air780EGH支持3串口
    的头像 发表于 08-14 17:53 993次阅读
    Air780EGH<b class='flag-5'>串口</b>电路设计攻略:硬件工程师必知要点

    Air780EGH串口通信优化:硬件电路设计核心要素剖析

    从硬件设计的角度,分享串口设计中的一些关键注意点,软件开发方面不做深入探讨。 一、串口相关管脚 Air780EGH支持3串口,分别是: 主
    的头像 发表于 08-11 15:44 902次阅读
    Air780EGH<b class='flag-5'>串口</b>通信优化:硬件电路设计核心要素剖析

    讲堂:串口工程下载及问题诊断

    一、适合范围适合大协议串口产品。、工程下载M系列:打开VisualTFT软件,在菜单栏→文件→‘创建新工程’,创建的工程必须以实体
    的头像 发表于 06-24 16:27 1848次阅读
    大<b class='flag-5'>彩</b>讲堂:<b class='flag-5'>串口</b><b class='flag-5'>屏</b>工程下载及问题诊断

    解锁LuatOS新世界:二次开发必备的3核心常识

    踏入LuatOS的二次开发领域,掌握关键常识是开启高效编程之旅的第一步。本文将揭示三不可或缺的核心要点,助你快速突破技术壁垒,深度挖掘系统潜力,让开发效率与创造力同步飙升。 本期一起
    的头像 发表于 06-23 16:08 461次阅读
    解锁LuatOS新世界:<b class='flag-5'>二次开发</b>必备的3<b class='flag-5'>个</b>核心常识

    支持二次开发的工业级维码扫码读头选购指南

    在快节奏的工业环境中,如何让维码识别速度提升200%?面对复杂多变的扫码需求,普通扫码设备往往力不从心,而支持二次开发的工业级扫码读头正成为企业降本增效的秘密武器。本文将为您揭开选购工业级扫码读头
    的头像 发表于 06-11 16:05 834次阅读
    支持<b class='flag-5'>二次开发</b>的工业级<b class='flag-5'>二</b>维码扫码读头选购指南

    云MES系统源码,支持 SaaS 多租户,支持二次开发

    万界星空科技MES生产制造执行系统源码,有演示,多个项目应用案例,成熟稳定。支持二次开发,商业授权后可商用。
    的头像 发表于 05-07 11:14 932次阅读
    云MES系统源码,支持 SaaS 多租户,支持<b class='flag-5'>二次开发</b>

    因为SDP-H1无法进行二次开发,想用SDP-K1连接AD7779评估板,接口是否匹配?

    因为SDP-H1无法进行二次开发,想用SDP-K1连接AD7779评估板,接口是否匹配?
    发表于 04-24 07:51