zoukankan      html  css  js  c++  java
  • Qt串口通信——功能实现:PLC对LPC的音量控制

    设计方案1:

    在PLC上,当使用QDial调节音量时,触发QDial的SIGNAL:ValueChange(),对应SLOT向LPC发送自定义键码0x22;

    在LPC上,当接收到0x22键码时,执行操作:设置当前volume值,当设置完成后,PLC将接收到来自LPC的volume数据进行更新。

    发现问题:

    1、当触发ValueChange()信号时,由于LPC设置3s无活动自动进入音量显示界面,PLC每隔3s仍发送0x22键码,导致VFD一直显示0x22键码,其他按键可以正常使用,但是操作执行完成后依然进入0x22的显示界面且每隔3s闪烁一次(原因应该是显示了volume界面但马上又被0x22刷新)。

    2、发送的数据只有一个Byte可以搭载数据,搭载命令数据之后就无法搭载音量数据,改写协议又相对麻烦。

    3、由于显示0x22也是其中一个功能码操作,在LPC中设置了3秒延时,因此才会有问题1的问题。必须关掉对0x22键码设置延时。

    设计方案2:

    设置一个Volume的镜像变量Volume_2(Volume_2设为全局变量),QDial获取Volume_2的值并与当前值做判断,得出方向后发送Volume+(ADKey5)和Volume-(ADKey6)的信号给LPC,直接执行加减操作。

    注意:

    1、在进行功能实现时,尽量避免使用全局变量,减少移植难度和空间占用;

    2、不可改写现有通信协议;

    本博客为作者原创,转载请注明出处。
  • 相关阅读:
    如何用Java编写一段代码引发内存泄露
    获取一天的开始时间和结束时间
    servlet,jsp,tomcat,jdk对应版本关系,如何查看jsp和servlet版本信息
    什么是元数据?
    什么是Device ID?
    如何查看移动设备标识码
    手机wifi的mac地址是什么??
    MD5摘要
    落地页和离线广告
    广告行业一些常用物料的尺寸
  • 原文地址:https://www.cnblogs.com/shawn06/p/6248518.html
Copyright © 2011-2022 走看看