小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 6391|回复: 7

麻烦看看这段上位机代码

[复制链接]
发表于 2012-12-14 19:21:03 | 显示全部楼层 |阅读模式
        private void buttonForward_Click(object sender, EventArgs e)
        {     
            if (Send_status)
            {
                RobotEngine2.SendCMD(controlType, CMD_Forward, comm);
                Send_status = false;
            }

        }

这是管理员发布的上位机中的发送指令的代码,有个问题,这里为什么要加上Send_status的判断呢?它的执行流程是怎样的呢?

回复

使用道具 举报

发表于 2012-12-14 19:59:20 | 显示全部楼层
应该避免多次点击buttonForward而重复执行 RobotEngine2.SendCMD(controlType, CMD_Forward, comm);
用过上位机软件的话你就知道了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-14 21:11:00 | 显示全部楼层
robotStudio 发表于 2012-12-14 19:59
应该避免多次点击buttonForward而重复执行 RobotEngine2.SendCMD(controlType, CMD_Forward, comm);
用过上 ...

看了那个完整的程序,是不是点了buttonForward按钮后,都要点一次Stop才能点其它的按钮呢?
回复 支持 反对

使用道具 举报

发表于 2012-12-14 22:17:23 | 显示全部楼层
Forward和Stop是两个指令 但是上位机在你按下buttonForward按钮时是Forward 松开时是Stop
回复 支持 反对

使用道具 举报

发表于 2012-12-14 23:06:10 | 显示全部楼层
我来解释一下,如果没有这个Send_status标志位,那么你按住键盘的时候,会有大量的数据发送过去,因为“按下”这个事件始终被触发了。这样就造成了大量的数据冗余,51单片机的运算能力又不是很强,如此大数据量可能造成工作不稳定。
有了这个标志位后,每个动作只发一次,只有当松开后再次按下才会发送新的值,就避免了发送大量无用数据的情况。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-14 23:19:14 | 显示全部楼层
liuviking 发表于 2012-12-14 23:06
我来解释一下,如果没有这个Send_status标志位,那么你按住键盘的时候,会有大量的数据发送过去,因为“按下 ...

感谢老大,但还有点不明白,Send_status被置为false后,再按其它按钮时if()里面为false,他怎么去执行动作呢?
回复 支持 反对

使用道具 举报

发表于 2012-12-14 23:28:04 | 显示全部楼层
botao258 发表于 2012-12-14 23:19
感谢老大,但还有点不明白,Send_status被置为false后,再按其它按钮时if()里面为false,他怎么去执行动 ...

按下时,Send_status被置为了false,但是你去按别的键的时候,肯定是要先松开当前按键的,松开的Keyup事件里面,我又把Send_status置为了true,这样就不影响下次的发送了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-15 13:08:14 | 显示全部楼层
liuviking 发表于 2012-12-14 23:28
按下时,Send_status被置为了false,但是你去按别的键的时候,肯定是要先松开当前按键的,松开的Keyup事件 ...

哦,对的,忘了还有一个Keyup事件{:3_49:},当时以为Keyup事件是只管键盘的up,没想到也管button的up,再次感谢耐心的老大。
最近正想做个小车,自己手里有几样东西,再看看还需要些啥配件,看好了一起在你们店里买,免得漏了又重复给邮费
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-4-29 02:45 , Processed in 1.073620 second(s), 18 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表