找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1058|回复: 1
收起左侧

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

[复制链接]
ID:63113 发表于 2020-10-11 19:33 | 显示全部楼层 |阅读模式
本帖最后由 yonko 于 2020-10-14 15:39 编辑

本文介绍了用按键设置数据的一种方法。
1.利用按键设置数值
在工业控制开发中,我们经常会遇到这样的工况:利用按键或者用触摸屏上的触键设置目标值,需要把一个一个的键值组合转换为数值,例如,在键盘上按了【1】【2】【3】三个键,怎么为系统设置输入的数值为123呢?
1.png
一个简单的方法如下:
2.png
原理很简单,每点击一个按键的时候,先把上一次的设置值乘以10,然后再加上本次的按键值,如此循环,直到设置完成。这在程序里实现是很容易的。

2.利用按键设置字符串数组

有时我们又需要用按键去输入字符串,用在显示屏上显示,那么这该怎么操作呢?
有一个方法,把输入的按键值依次存到字符串数组string1[]中,然后按照规则发送到显示屏上进行显示即可。那么又有一个问题,按键值又该怎么存入字符串数组中呢?下面用一个例子来说明一下,如通过按键输入字符串“yonkotech”:
3.png
每按一个按键时,先把之前所有已经存入数组的值向左移1位,再将空出来的最右端的最低位存入新按的按键值,如此循环,直到完成设置,就完成了按键到字符串的设置。
这里面需要一个移位操作,其实也不难,用个for循环就搞定,以上面的为例写一段移位C代码:
unsigned char i;        //定义循环的变量i
for(i=8;i>0;i--)
{
string1= string1[i-1]; //从高位到低位,依次向左进行移位
}
本文不是讲的什么高深的难点,只是一些技术思路的分享,希望有帮助。
51hei赞赏码.png






回复

使用道具 举报

ID:108573 发表于 2020-10-12 08:22 | 显示全部楼层
谢谢楼主,多分享一些思路类的文章。微信公众号里的文章都是干货
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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