打印

[技术]这样的思路,让控制器中按键处理数据的方法变得简...

[复制链接]
467|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yonko|  楼主 | 2020-10-11 19:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本文介绍了用按键设置数据的一种方法。
1.利用按键设置数值
在工业控制开发中,我们经常会遇到这样的工况:利用按键或者用触摸屏上的触键设置目标值,需要把一个一个的键值组合转换为数值,例如,在键盘上按了【1】【2】【3】三个键,怎么为系统设置输入的数值为123呢?

一个简单的方法如下:

原理很简单,每点击一个按键的时候,先把上一次的设置值乘以10,然后再加上本次的按键值,如此循环,直到设置完成。这在程序里实现是很容易的。
2.利用按键设置字符串数组
有时我们又需要用按键去输入字符串,用在显示屏上显示,那么这该怎么操作呢?
有一个方法,把输入的按键值依次存到字符串数组string1[]中,然后按照规则发送到显示屏上进行显示即可。那么又有一个问题,按键值又该怎么存入字符串数组中呢?下面用一个例子来说
明一下,如通过按键输入字符串“yonkotech”:

每按一个按键时,先把之前所有已经存入数组的值向左移1位,再将空出来的最右端的最低位存入新按的按键值,如此循环,直到完成设置,就完成了按键到字符串的设置。
这里面需要一个移位操作,其实也不难,用个for循环就搞定,以上面的为例写一段移位C代码:
unsigned char i;        //定义循环的变量i
for(i=8;i>0;i--)
{
string1= string1[i-1]; //从高位到低位,依次向左进行移位
}
本文不是讲的什么高深的难点,只是一些技术思路的分享,希望有帮助。



使用特权

评论回复

相关帖子

沙发
zeshoufx| | 2020-10-11 21:52 | 只看该作者
谢谢分享【控制器中按键处理数据的方法】

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

116

主题

229

帖子

0

粉丝