当前位置: 首页 > news >正文

易语言教程——第四章—第一个程序—串口调试助手

目录

一.创建工程

二.编辑控件

1.设置波特率

2.设置数据位

3.设置校验位

4.设置停止位

5.设置下拉框属性

6.改按键标题

7.添加串口组件

三.编写后台程序

1.串口扫描

2.串口打开

3.串口发送

4.串口接收

5.串口关闭

四.打包exe

五.资源下载


一.创建工程

二.编辑控件

我们选择一些控件放到窗口

我们单击一下组合框,将端口组合框设置为不可编辑下拉,其余几个暂时不变

然后单击波特率组合框,设置下拉项目

1.设置波特率

单击,插入下拉项目

同理,我们插入115200

然后确定

2.设置数据位

3.设置校验位

4.设置停止位

5.设置下拉框属性

6.改按键标题

然后我们将这里改成0,即默认显示第一个下拉选项

7.添加串口组件

我们选择一下该组件,放置到这里

注意我这里改了下名字

三.编写后台程序

控件放置完成之后我们要编写后台程序

1.串口扫描

我们点击扫描按钮,选择被单击

然后编写扫描代码

写入如下代码

.版本 2组合框1.清空 ()
.变量循环首 (0, 20, 1, 变量)串口组件.端口号 = 变量串口组件.波特率 = 9600.如果真 (串口组件.启动 () = 真)组合框1.加入项目 (“COM” + 到文本 (变量), )串口组件.停止 ().如果真结束.变量循环尾 ()
组合框1.现行选中项 = 0.如果真 (变量 > 0)开始.禁止 = 假
.如果真结束

这段代码的简要意思就是将每个端口都打开一遍,测试其是否能够以串口方式打开,如果可以,则加入列表。

测试扫描成功

然后我们设置一下软件启动自动扫描一遍串口,我们单击窗体,选择创建完毕函数

编写后台函数,写入以下代码

.版本 2.子程序 __启动窗口_创建完毕开始.禁止 = 真
_扫描_被单击 ()

测试,可以看到软件启动后自动的扫描端口

2.串口打开

我们选择开始按钮,选择其被单击的后台函数

编写如下代码

.版本 2.子程序 _开始_被单击
.局部变量 端口号, 整数型
.局部变量 波特率, 整数型.如果真 (组合框1.内容 = “”)返回 ()
.如果真结束端口号 = 到整数 (取文本右边 (组合框1.内容, 2))
波特率 = 到整数 (组合框2.内容)串口组件.波特率 = 波特率
串口组件.端口号 = 端口号
串口组件.数据位数 = 到整数 (组合框3.内容)
.判断开始 (组合框4.内容 = “None”)串口组件.奇偶校验 = 假
.判断 (组合框4.内容 = “Even”)串口组件.奇偶校验 = 真串口组件.奇偶校验方案 = 1
.判断 (组合框4.内容 = “Odd”)串口组件.奇偶校验 = 真串口组件.奇偶校验方案 = 0
.默认.判断结束串口组件.停止位数 = 到整数 (组合框5.内容)
.如果真 (串口组件.启动 () = 假)信息框 (“串口打开失败!”, 0, , )返回 ()
.如果真结束开始.标题 = “关闭”
扫描.禁止 = 真
组合框1.禁止 = 真
组合框2.禁止 = 真
组合框3.禁止 = 真
组合框4.禁止 = 真
组合框5.禁止 = 真

简单来说这段代码就是读取当前选择的串口号与波特率然后启动串口,同时在启动后将串口选择框和波特率选择框设置禁止调整、以及串口启动的按钮的标题改为关闭、同时关闭扫描按钮

然后我们在初始化函数这里添加该语句

组合框2.现行选中项 = 0

用来设置软件启动后的默认项为第一项

测试一下,点击开始,可以看见没有问题

3.串口发送

我们编写一下发送按钮的后台函数

写入以下内容

.版本 2.子程序 _按钮1_被单击.如果真 (串口组件.发送数据 (编辑框2.内容) = 假)信息框 (“发送失败,请检查串口!”, 0, , )返回 ()
.如果真结束编辑框1.内容 = 编辑框1.内容 + #换行符 + 编辑框2.内容

即将编辑框2的内容发送出去,同时将内容写入到编辑框1中

然后我们将编辑框1设置为只读

同时设置一下这里

同时我们将该发送按钮设置启动后禁止,这是为了放置启动后未选择端口就发送出现问题

同时我们在扫描函数这里加入一句话

测试一下

我们在发送框写入内容,然后点击发送

可以看到测试成功,发送成功

4.串口接收

我们编写收到数据时的后台程序

写入如下函数

.版本 2.子程序 _串口组件_数据到达
.参数 数据字节值, 整数型编辑框1.加入文本 (字符 (数据字节值))

测试一下

可以看到收取数据没有问题

5.串口关闭

我们回到串口打开函数修改代码如下

.版本 2.子程序 _开始_被单击
.局部变量 端口号, 整数型
.局部变量 波特率, 整数型.如果真 (开始.标题 = “开始”).如果真 (组合框1.内容 = “”)返回 ().如果真结束端口号 = 到整数 (取文本右边 (组合框1.内容, 2))波特率 = 到整数 (组合框2.内容)串口组件.波特率 = 波特率串口组件.端口号 = 端口号串口组件.数据位数 = 到整数 (组合框3.内容).判断开始 (组合框4.内容 = “None”)串口组件.奇偶校验 = 假.判断 (组合框4.内容 = “Even”)串口组件.奇偶校验 = 真串口组件.奇偶校验方案 = 1.判断 (组合框4.内容 = “Odd”)串口组件.奇偶校验 = 真串口组件.奇偶校验方案 = 0.默认.判断结束串口组件.停止位数 = 到整数 (组合框5.内容).如果真 (串口组件.启动 () = 假)信息框 (“串口打开失败!”, 0, , )返回 ().如果真结束开始.标题 = “关闭”扫描.禁止 = 真组合框1.禁止 = 真组合框2.禁止 = 真组合框3.禁止 = 真组合框4.禁止 = 真组合框5.禁止 = 真按钮1.禁止 = 假返回 ().如果真结束
串口组件.停止 ()开始.标题 = “开始”
扫描.禁止 = 假
组合框1.禁止 = 假
组合框2.禁止 = 假
组合框3.禁止 = 假
组合框4.禁止 = 假
组合框5.禁止 = 假
按钮1.禁止 = 真
返回 ()

运行一下试试,没有问题

四.打包exe

测试没有问题之后,我们点击静编按钮,将会输出exe文件,

保存文件

我们找到生成的exe文件

双击,可以看到和测试时一样使用

五.资源下载

需要资源的联系我或者在文章头下载哦

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 跨vue、react、angular框架渲染
  • 使用Vue创建cesium项目模版该如何选择?
  • 用Python在PDF文档中创建动作
  • 使用实例:xxl-job应用在spring cloud微服务下
  • uniapp组件用法
  • PTA - C语言接口题集1
  • linux下cpu多核运行程序以及运行时间统计
  • 复杂工件的高效测量方案:自动化三坐标测量与影像测量技术集成
  • 分类预测|基于黑翅鸢优化BKA-Transformer-LSTM组合模型的数据预测Matlab程序多特征输入多类别输出
  • 大语言模型算力优化策略:基于并行化技术的算力共享平台研究
  • 是否应该使用WordPress自动更新的功能
  • 虚幻5|技能栏优化(1)---优化技能UI,并添加多个技能
  • JavaScript 知识:this、apply/call/bind、Promise、HTTP 库 Axios
  • QUIC(Quick UDP Internet Connections)协议
  • 【Zookeeper】小白基础入门
  • hexo+github搭建个人博客
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Brief introduction of how to 'Call, Apply and Bind'
  • echarts的各种常用效果展示
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • js写一个简单的选项卡
  • Lsb图片隐写
  • Magento 1.x 中文订单打印乱码
  • MYSQL 的 IF 函数
  • spring boot下thymeleaf全局静态变量配置
  • Swoft 源码剖析 - 代码自动更新机制
  • tweak 支持第三方库
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • vue.js框架原理浅析
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 从零开始学习部署
  • 利用DataURL技术在网页上显示图片
  • 你不可错过的前端面试题(一)
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 什么是Javascript函数节流?
  • 小程序 setData 学问多
  • 在weex里面使用chart图表
  • kubernetes资源对象--ingress
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • $$$$GB2312-80区位编码表$$$$
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (动态规划)5. 最长回文子串 java解决
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (面试必看!)锁策略
  • (三)elasticsearch 源码之启动流程分析
  • (三)模仿学习-Action数据的模仿
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (转)http协议
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?