让控制器中按键处理数据的方法变得简单

发布者:睿智之光最新更新时间: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]; //从高位到低位,依次向左进行移位
}
本文不是讲的什么高深的难点,只是一些技术思路的分享,希望有帮助。


关键字:控制器  按键处理  数据 引用地址:让控制器中按键处理数据的方法变得简单

上一篇:单片机动态数码管显示DS18B20测温显示程序
下一篇:MPX4115压力自动检测系统设计

推荐阅读最新更新时间:2024-11-09 15:31

亚信电子推出新一代PCIe转多I/O(4S,2S+1P,2S+SPI,LB)控制器
亚信电子推出最新一代的「AX99100A PCIe转多I/O(4S,2S+1P,2S+SPI,LB)控制器」,提供一款高性价比的PCIe转多串并口I/O桥接芯片解决方案。 透过PCI Express接口,客户能够轻松支援多个串口、并口、SPI或本地总线等接口,以满足工业、医疗和嵌入式系统产品对I/O接口桥接的市场需求。 亚信电子(ASIX Electronics Corporation)持续深耕工业以太网芯片和I/O接口桥接器市场,在推出全新的EtherCAT从站转IO-Link主站网关和IO-Link设备软体协议栈解决方案之后,亚信今天再度推出最新一代的「AX99100A PCIe转多I/O(4S,2S+1P,2S+SPI
[网络通信]
亚信电子推出新一代PCIe转多I/O(4S,2S+1P,2S+SPI,LB)<font color='red'>控制器</font>
ALSA声卡_从零编写之数据传输(基于优龙FS2410开发板,UDA1341声卡)
一、实验环境 1.1 虚拟机环境 a) Vmware版本:Vmware Workstation 12.5.7 b) Ubuntu版本:9.10 c) 内核版本:2.6.31.14 d) toolchain版本:arm-linux-gcc 4.3.2 1.2 开发板 优龙FS2410开发板,UDA1341声卡 内核版本:3.4.2 二、声卡数据传输的原理(以播放为例) (1) 驱动程序分配一个buffer:s2c2440_dma_new (2) app不断写一个个period数据到buffer(appl_ptr以frame为单位) 。一个period包含多个frame,一个frame就是一个采样数据 (
[单片机]
ALSA声卡_从零编写之<font color='red'>数据</font>传输(基于优龙FS2410开发板,UDA1341声卡)
马斯克:特斯拉不再需要用激光雷达采集FSD训练数据
Luminar Technologies 近日在其致股东的信函中提到,电动汽车制造商特斯拉是其 2024 年第一季度最大的 LiDAR(激光雷达)产品客户,当季特斯拉贡献了 Luminar 超过 10% 的收入。但根据埃隆・马斯克最近的表态,Luminar 未来来自特斯拉的业务可能会减少。 这一消息让外界猜测特斯拉可能在自动驾驶领域转向使用激光雷达,似乎与马斯克此前将激光雷达方案称为“歧路”的言论相左。此前马斯克曾将激光雷达称为“愚蠢的差事”和“死胡同”。不过,长期关注特斯拉的人士指出,特斯拉一直使用激光雷达设备来验证测试车辆的视觉数据。因此,特斯拉从 Luminar 购买 LiDAR 设备也就不奇怪了。 针对特斯拉成为最大客户的
[汽车电子]
STM32单片机串口接收数据的方法
串口作为单片机开发的一个常用的外设,应用范围非常广。大部分时候,串口需要接收处理的数据长度是不定的。那么怎么才能判断一帧数据是否结束呢,今天就以STM32单片机为例,介绍几种接收不定长数据的方法。 首先,我们需要打开一个串口,使用STM32CubeMx来配置,如下: 然后打开串口中断、添加发送和接收的DMA,DMA参数设置为默认即可,如下图。(DMA可根据自身需求选择是否打开) 配置一下时钟等,点击生成代码,这样就可以使用串口了。首先我们定义一个串口接收的结构体,并定义一个结构体变量,如下: #define RX_MAXLEN 200 //最大接收数据长度 typedef struct{ uint
[单片机]
STM32单片机串口接收<font color='red'>数据</font>的方法
意法半导体推出灵活多变的同步整流控制器,提高硅基或氮化镓功率转换器能效
有助于简化工业电源、便携式设备充电器和交流/直流适配器操作,节省电能 2024 年 3 月 7 日,中国—— 意法半导体 SRK1004 同步整流控制器降低采用硅基或 GaN 晶体管的功率转换器的设计难度,提高转换能效,目标应用包括工业电源、便携式设备充电器和 AC/DC适配器。 SRK1004的检测输入能够承受高达190V 的电压,可以连接高低边功率开关管。 共有四款产品供用户选择,仅器件选型就可以让用户优化应用设计,通过选择5.5V或 9V的栅极驱动电压,可以在设计选用理想的逻辑电平 MOSFET、标准 MOSFET 或 GaN 晶体管,避免复杂的计算过程。 SRK1004 适用于非互补性有源钳位、谐振和准谐振
[电源管理]
意法半导体推出灵活多变的同步整流<font color='red'>控制器</font>,提高硅基或氮化镓功率转换器能效
介绍一款适用于汽车和工业场合的高效同步SEPIC控制器
LT8711是一款直流-直流控制器,支持同步降压、升压、SEPIC、ZETA和非同步降压-升压等拓扑。 ADI 有多款同步降压、升压变换器和控制器,但支持同步SEPIC拓扑的并不多。SEPIC拓扑其实非常实用,因为无论输入电压远低于或远高于输出电压,它都能提供稳定的电平输出。 及工业应用中工厂的供电线路较长或者突然掉电时。油气设备可以通过 SEPIC变换器将多个不同的电源连接至负载来提高系统可靠性,如果其中一个电源出现故障,即使输入电压不同,SEPIC变换器可以通过另一个电源来为负载供电。 电路描述及功能 图1. LT8711用于SEPIC和降压应用的电路原理图。 图1示例的动力控制系统原理图是一个基于LT8
[汽车电子]
介绍一款适用于汽车和工业场合的高效同步SEPIC<font color='red'>控制器</font>
纯电动汽车整车控制器原理及功能解析
整车控制器是电动汽车正常行驶的控制中枢,是整车控制系统的核心部件,是纯电动汽车的正常行驶、再生制动能量回收、故障诊断处理和车辆状态监视等功能的主要控制部件。 整车控制器包括硬件和软件两大组成部分,它的核心软件和程序一般由生产厂商研发,而汽车零部件供应商能够提供整车控制器硬件和底层驱动程序。现阶段国外对纯电动汽车整车控制器的研究主要集中在以轮毂 电机 驱动的纯电动汽车。对于只有一个电机的纯电动汽车通常不配备整车控制器,而是利用 电机控制 器进行整车控制。国外很多大企业都能够提供成熟的整车控制器方案,如大陆、 博世 、德尔福等。 1. 整车控制器组成与原理 纯电动汽车整车控制系统主要分为集中式控制和分布式控制两种方案。
[汽车电子]
纯电动汽车整车<font color='red'>控制器</font>原理及功能解析
苹果向黑客提供用户数据!iPhone 还吹说安全?
苹果系统安全吗? 相对于更加开放的安卓、Windows,确实更加安全,但凡事没有绝对,比如之前 iOS 系统也中过“飞马”“零日漏洞”之类的招,木马也有可能被植入到苹果系统中去。 但这都属于漏洞,是被动中招的。 而最近有个新闻爆出, 苹果居然主动把用户信息提供给了黑客组织 。这还了得?根据《彭博社》的一份报告显示,在2021年苹果向伪装成执法人员的黑客提供了用户数据。 这些数据包括用户的住址、电话号码、IP地址等信息。另外,Facebook 的母公司 Meta 也向黑客提供了用户数据。 黑客入侵了多个国家和地区执法人员的电子邮箱,还伪造了执法人员的签名,然后将“紧急数据请求”发送给苹果公司。 然后苹果,就这么轻易的,上当了
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved