历史上的今天
今天是:2024年10月12日(星期六)
2020年10月12日 | 让控制器中按键处理数据的方法变得简单
2020-10-12 来源:51hei
本文介绍了用按键设置数据的一种方法。
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]; //从高位到低位,依次向左进行移位
}
本文不是讲的什么高深的难点,只是一些技术思路的分享,希望有帮助。
史海拾趣
|
大二,暑期实习, 我们的目标是完成线性稳压电源,串联开关稳压电源,功率放大器中的一个。我选择的是线性稳压电源,选择的是用w7800三端稳压器,实验要求是输入电压Ui=18V(交流),输出电压为Uo=7~18V。输出电流Io要小于1.5A,我想请教大家帮忙提 ...… 查看全部问答> |
|
有大量PCB设计高清图供大家欢赏 https://home.eeworld.com.cn/my/space.php?uid=257400&do=album&id=1232 前几天有些朋友在问我联系方式我的QQ:1211406057 有朋自远方来 ...… 查看全部问答> |
|
本人想学习arm从而进入嵌入系统的领域,会点单片机,和c语言,c++正在学习当中 大家能不能推荐一下快速入门的书啊?还有没有二手的板子,可以的话,我想买,, 我没钱,新的买不起来。。 谢了,,帮顶也给分… 查看全部问答> |
|
由于研究Vxworks下的Goahead webserver(2.18版本)移植(这是用的最多的一种方式虽然存在BUG,但作为初学者很有学习价值); 按: (1)建立基于bsp 的downloadable 工程,名称为 goaheadweb (2)将下列下载的源文件加入到工程中 ...… 查看全部问答> |
|
当你21岁,有了第一个自己创办的公司时,你一定认为你是这么的聪明,比以往任何一个人都聪明,你不需要建议或帮助,只想拼命的干活,做一个很酷的产品,卖给上百万的用户,然后在25岁的时候退休。这种初生牛犊不怕虎的信心对于年轻的创业者来说非常 ...… 查看全部问答> |
|
STM32F103VCT6的I2C出问题了(好像跟映射有关系),难以解决 调了好几天了,快崩溃了,下面我把情况说一下: STM32F103VCT6的PB8\\PB9用作I2C1,连接PCF8563,硬件连接是没有问题的,8563的读写函数也没有问题,因为是原来用在RBT6上的软件,区别是按照STM32F103VCT6的手册,PB8\\PB9用作I2C1的话是需要 ...… 查看全部问答> |
|
如题,附件中为一个DC-DC转换,开关频率为525KHZ,问题是因为在使用的环境糟糕,需要输入端加入三个电感滤波:防止外部对内部电路干扰,防止内部对外部环境干扰。一直对滤波电路都不熟,所以得请帮忙。不胜感激 [ 本帖最后由 fengboning ...… 查看全部问答> |




