「技术」这样的思路,让控制器中按键处理数据的方法变得简单了

【「技术」这样的思路,让控制器中按键处理数据的方法变得简单了】本文介绍了用按键设置数据的一种方法 。
1.利用按键设置数值
在工业控制开发中 , 我们经常会遇到这样的工况:利用按键或者用触摸屏上的触键设置目标值 , 需要把一个一个的键值组合转换为数值 , 例如 , 在键盘上按了【1】【2】【3】三个键 , 怎么为
系统设置输入的数值为123呢?
「技术」这样的思路,让控制器中按键处理数据的方法变得简单了文章插图
一个简单的方法如下:
「技术」这样的思路,让控制器中按键处理数据的方法变得简单了文章插图
原理很简单 , 每点击一个按键的时候 , 先把上一次的设置值乘以10 , 然后再加上本次的按键值 , 如此循环 , 直到设置完成 。 这在程序里实现是很容易的 。
2.利用按键设置字符串数组
有时我们又需要用按键去输入字符串 , 用在显示屏上显示 , 那么这该怎么操作呢?
有一个方法 , 把输入的按键值依次存到字符串数组string1[]中 , 然后按照规则发送到显示屏上进行显示即可 。 那么又有一个问题 , 按键值又该怎么存入字符串数组中呢?下面用一个例子来说
明一下 , 如通过按键输入字符串“yonkotech”:
「技术」这样的思路,让控制器中按键处理数据的方法变得简单了文章插图
每按一个按键时 , 先把之前所有已经存入数组的值向左移1位 , 再将空出来的最右端的最低位存入新按的按键值 , 如此循环 , 直到完成设置 , 就完成了按键到字符串的设置 。
这里面需要一个移位操作 , 其实也不难 , 用个for循环就搞定 , 以上面的为例写一段移位C代码:
unsigned char i; //定义循环的变量i
for(i=8;i>0;i--)
{
string1[i]= string1[i-1]; //从高位到低位 , 依次向左进行移位
}
本文不是讲的什么高深的难点 , 只是一些技术思路的分享 , 希望有帮助 。