大彩串口屏速通笔记二

      本文着重讲述大彩串口屏与单片机的联机使用,大彩串口屏的前期学习可以参考学习笔记——大彩串口屏“常识”大彩串口屏速通笔记一

指令格式

     观察指令助手中生成的指令可以发现指令有明显的规律,那么只需要抓住规律就可以根据参数自行编写指令生成函数,所以在正式开始学习联机之前,我们有必要了解一下指令的组成方式。

      这是官方资料对指令格式的解释,可以看到指令有固定的帧头和帧尾,就像是对指令内容进行了“打包”,将需要传递的信息包裹在中间。指令的帧形式的完整性可以作为指令的有效性的判断,当然对于我们在短距离和不算太高的波特率的使用场景下,并不是刚需,包括表二中的CRC校验也是同理,所以我们直接使用表一中无校验位的形式即可。

      看完指令的组成,相信大部分同学们还是一脸懵,但是没关系,我们接下来根据具体的指令进行逐一分析。

      以按键按下串口屏发出的指令为例,我们可以通过指令助手得到下面这一串指令

可以看到开头的EE 和结尾的 FF FC FF FF就是帧头与帧尾,并无实际意义,那么掐头去尾就剩下了B1 10 00 00 00 01 01,从指令助手的可调参数上不难看出中间部分与画面ID,控件ID和按键状态有关,那么我们试着改变这些参数观察指令的变化

根据换算可得十六进制0101即是十进制的257,十六进制的0102即是十进制的258,所以不难看出中间四个数字即为画面ID+控件ID,且都为两个字节的长度。那么再次对照指令格式就能够得出 B1 10为"指令",即标识了该指令的作用,串口屏的指令非常多,根据需要查阅指令助手并能够运用即可。

     同理也可通过此方法了解其他控件的指令组成。

程序编写

        终于到了敲代码部分了,我们本次演示的内容是实现文本控件的内容的改变,首先当然是根据上述方法去了解更改内容的指令的组成部分,此处不再赘述,我们直接进入单片机程序的编写阶段。本次演示使用的单片机型号为STM32G431,使用CubeMX配置单片机外设,HAL库进行开发编写,演示内容对单片机并无要求,读者根据自己的习惯与手头的资源进行选择即可。要使用串口屏那肯定需要打开单片机的串口功能,配置上建议使用打开接收中断并使用IDLE的方式进行接收数据,因为串口屏的指令是不定长的,单本次实验不涉及接收,所以不需要打开串口中断功能,贴一张我的配置图,注意串口的波特率要和串口屏的保持一致。

    接下去就是代码的编写了,根据得到的文本控件指令的规则,不难写出以下的代码

随后在主函数中调用即可。

为了验证代码的正确性,我们先使用USB转TTL连接电脑与单片机,查看串口发出的代码,并与指令助手生成的指令相对比

对比可得两者完全相同,接下去就是连接单片机与串口屏了,连接完成后按下单片机的复位按键,可以观察到文本的内容变成了事先在代码中设定好的内容。

       至此,串口屏的基本应用方法已经明了,读者可以使用指令助手通过分解指令的方法寻找规则,再以此规则进行代码的编写达到双向的控制。但是串口屏有非常多的控件,每个控件又有不少可控制的属性,全都依靠自己编写明显不切实际,但是可以注意到官方资料中是有代码例程的,但那时基于标准库编写的,所以我们接下来需要做的就是将官方提供的文件一直到HAL库工程中,具体一直方法后续会持续更新。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值