CN111988881B - 按键灯控制方法、装置、系统及设备 - Google Patents
按键灯控制方法、装置、系统及设备 Download PDFInfo
- Publication number
- CN111988881B CN111988881B CN201910438833.9A CN201910438833A CN111988881B CN 111988881 B CN111988881 B CN 111988881B CN 201910438833 A CN201910438833 A CN 201910438833A CN 111988881 B CN111988881 B CN 111988881B
- Authority
- CN
- China
- Prior art keywords
- key
- key lamp
- chip
- lamp control
- control data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本申请实施例公开了一种按键灯控制方法、装置、系统及设备。所述设备包括:多个按键;输入/输出扩展芯片组,连接所述多个按键;嵌入式处理器,连接所述输入/输出扩展芯片组;多个移位寄存器芯片,串联连接至所述嵌入式处理器,每个所述移位寄存器芯片均包括多个引脚;以及多个按键灯,每个所述按键对应至少一个所述按键灯,所述多个按键灯连接所述多个移位寄存器芯片,且每个所述按键灯对应连接一个所述移位寄存器芯片的一个所述引脚。
Description
技术领域
本发明涉及嵌入式设备控制技术领域,尤其涉及一种按键灯控制方法、一种按键灯控制装置、一种按键灯控制系统及一种按键灯控制设备。
背景技术
与PC类似,在很多场景下,嵌入式设备的按键是很重要的输入设备。而按键灯,特别是多颜色按键灯可以结合按键表达多种按键定义,也有着广泛且重要的应用。按键灯一般是按键上面集成有单颜色或多颜色的LED灯,一般情况下,单色按键灯的驱动实现比较简单,可以是通过硬件直接实现,也可以通过软件来控制,并且实现起来也比较简单。而多颜色按键灯需要实现多种颜色的显示,而且有时还需要多种颜色来组成更多的其他颜色;所以,一般情况下肯定需要程序控制来实现。多颜色按键灯典型地是有两种或两种以上颜色的LED灯集成在一个按键上,然后通过程序来控制不同颜色LED灯的亮灭和亮灭逻辑,可以按照一定的逻辑响应按键动作或软件的控制信号。
然而,嵌入式设备的I/O资源是有限的,在按键灯较多时,无法提供足够多的GPIO口供使用。使用I/O扩展芯片可以一定程度上弥补GPIO口不足的问题,一般情况下,I/O扩展芯片都要接在I2C等总线上,而这些总线资源也是很紧俏的。一般情况下总线上外接设备的数量是有限的,所以无法从根本上解决GPIO口不足的问题;在按键灯数目比较大时, I/O口同样不够用。而且,在需要多个按键灯同时控制时,特别是多个按键灯不在同一个I/O 扩展芯片上时,程序较繁琐,且实时性不是很好。
发明内容
为克服现有技术的缺陷和不足,本申请的实施例提供一种按键灯控制方法、一种按键灯控制装置、一种按键灯控制系统及一种按键灯控制设备。
本申请实施例提出一种按键灯控制方法,包括:
获取因按键被触发而产生的按键值;
根据所述按键值查询关联按键值与按键灯连接位置信息的映射数组,以得到对应的按键灯连接位置信息中的芯片序号及芯片引脚号;
形成按键灯控制数据,其中所述按键灯控制数据包含所述芯片序号及芯片引脚号和亮度控制数据;
根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找关联芯片序号与芯片引脚状态信息的表征数组以得到对应的芯片引脚状态信息,并根据所述按键灯控制数据中的所述亮度控制数据更新所述对应的芯片引脚状态信息,以得到更新后表征数组;以及
将所述更新后表征数据组中的芯片引脚状态信息以串行方式输出,以刷新所述按键对应的按键灯的状态。
在一个实施例中,当所述按键灯控制数据还包含闪烁位标志数据、且所述闪烁位标志数据表示闪烁使能,所述按键灯控制方法还包括:
根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找闪烁位标志数组以得到对应的闪烁位标志,并根据所述按键灯控制数据中的所述闪烁位标志数据更新所述对应的闪烁位标志,以得到更新后闪烁位标志数组;以及
根据所述更新后闪烁位标志数组对所述更新后表征数组中的目标芯片引脚状态信息进行反复取反操作,以使与所述目标芯片引脚状态信息对应的按键灯闪烁。
在一个实施例中,以十六进制字符串表征芯片引脚状态信息。
在一个实施例中,所述表征数组中的芯片引脚状态信息按照芯片序号及引脚序号依次排列。
本申请实施例还提供一种按键灯控制装置,包括:
获取模块,用于获取因按键被触发而产生的按键值;
第一查找模块,用于根据所述按键值查询关联按键值与按键灯连接位置信息的映射数组,以得到对应的按键灯连接位置信息中的芯片序号及芯片引脚号;
数据生成模块,用于形成按键灯控制数据,其中所述按键灯控制数据包含所述芯片序号及芯片引脚号和亮度控制数据;
第二查找模块,用于根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找关联芯片序号与芯片引脚状态信息的表征数组以得到对应的芯片引脚状态信息,并根据所述按键灯控制数据中的所述亮度控制数据更新所述对应的芯片引脚状态信息,以得到更新后表征数组;以及
状态刷新模块,用于将所述更新后表征数据组中的芯片引脚状态信息以串行方式输出,以刷新所述按键对应的按键灯的状态。
在一个实施例中,当所述按键灯控制数据还包含闪烁位标志数据、且所述闪烁位标志数据表示闪烁使能,所述按键灯控制装置还包括:
第三查找模块,用于根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找闪烁位标志数组以得到对应的闪烁位标志,并根据所述按键灯控制数据中的所述闪烁位标志数据更新所述对应的闪烁位标志,以得到更新后闪烁位标志数组;以及
闪烁控制模块,用于根据所述更新后闪烁位标志数组对所述更新后表征数组中的目标芯片引脚状态信息进行反复取反操作,以使与所述目标芯片引脚状态信息对应的按键灯闪烁。
本申请实施例还提供一种按键灯控制系统,包括:处理器和连接所述处理器的存储器;其中所述存储器存储有所述处理器执行的指令,且所述指令使得所述处理器执行操作以进行如上所述的按键灯控制方法。
本申请实施例还提供一种按键灯控制设备,包括:
多个按键;
输入/输出扩展芯片组,连接所述多个按键;
嵌入式处理器,连接所述输入/输出扩展芯片组;
多个移位寄存器芯片,串联连接至所述嵌入式处理器,每个所述移位寄存器芯片均包括多个引脚;以及
多个按键灯,每个所述按键对应至少一个所述按键灯,所述多个按键灯连接所述多个移位寄存器芯片,且每个所述按键灯对应连接一个所述移位寄存器芯片的一个所述引脚。
在一个实施例中,所述嵌入式处理器用于:
获取因所述输入/输出扩展芯片组连接的目标按键被触发而产生的按键值;
根据所述按键值查询关联按键值与按键灯连接位置信息的映射数组,以得到对应的按键灯连接位置信息中的芯片序号及芯片引脚号;
形成按键灯控制数据,其中所述按键灯控制数据包含所述芯片序号及芯片引脚序号和亮度控制数据;
根据所述按键灯控制数据中的所述芯片序号及芯片引脚序号查找关联芯片序号与芯片引脚状态信息的表征数组以得到对应的芯片引脚状态信息,并根据所述按键灯控制数据中的所述亮度控制数据更新所述对应的芯片引脚状态信息,以得到更新后表征数组;以及
将所述更新后表征数据组中的芯片引脚状态信息以串行方式输出至所述多个移位寄存器芯片,以刷新所述按键对应的按键灯的状态。
在一个实施例中,当所述按键灯控制数据还包含闪烁位标志数据、且所述闪烁位标志数据表示闪烁使能,所述嵌入式处理器还用于:
根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找闪烁位标志数组以得到对应的闪烁位标志,并根据所述按键灯控制数据中的所述闪烁位标志数据更新所述对应的闪烁位标志,以得到更新后闪烁位标志数组;以及
根据所述更新后闪烁位标志数组对所述更新后表征数组中的目标芯片引脚状态信息进行反复取反操作,并在每次取反操作后的表征数据中的芯片引脚状态信息以串行方式输出至所述多个移位寄存器芯片,从而实现与所述目标芯片引脚状态信息对应的按键灯闪烁。
在一个实施例中,设所述多个按键的数量为n,设所述多个按键灯的数量为m,设所述多个移位寄存器芯片的数量为y,每个移位寄存器芯片的所述引脚的数量为z,则y*z≥m,m=an,其中a、y、z、n及m为自然数。
综上所述,本实施方式采用多个移位寄存器芯片串联的方式,在理论上可以外接无数个按键灯例如LED灯,突破了现有技术中GPIO(通用输入/输接口)数量的限制;由于为按键灯建立了表征数组,开发者可以无视嵌入式设备的按键数量,极大地方便了开发者的应用;极大的简化了按键和按键灯映射到真正的嵌入式设备的过程,极大的提高了代码的稳定性;以及具有极高的兼容性,可以应用到多个场景,极大地丰富了开发者的手段。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请第一实施例的一种按键灯控制设备的按键灯控制方法的流程图。
图2为本申请第一实施例的一种按键灯控制设备的结构示意图。
图3为本发明第二实施例的一种按键灯控制装置的模块示意图。
图4为本发明第三实施例的一种按键灯控制系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
【第一实施例】
如图1所示,本发明第一实施例提供一种按键灯控制方法,适用于一种按键灯控制设备例如一种嵌入式设备,所述按键灯控制方法包括:
S11,获取因按键被触发而产生的按键值;
S12,根据所述按键值查询关联按键值与按键灯连接位置信息的映射数组,以得到对应的按键灯连接位置信息中的芯片序号及芯片引脚号;
S13,形成按键灯控制数据,其中所述按键灯控制数据包含所述芯片序号及芯片引脚序号和亮度控制数据;
S14,根据所述按键灯控制数据中的所述芯片序号及芯片引脚序号查找关联芯片序号与芯片引脚状态信息的表征数组以得到对应的芯片引脚状态信息,并根据所述按键灯控制数据中的所述亮度控制数据更新所述对应的芯片引脚状态信息,以得到更新后表征数组;以及
S15,将所述更新后表征数据组中的芯片引脚状态信息以串行方式输出,以刷新所述按键对应的按键灯的状态。
当所述按键灯控制数据还包含闪烁位标志数据、且所述闪烁位标志数据表示闪烁使能,所述按键灯控制方法还包括:根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找闪烁位标志数组以得到对应的闪烁位标志,并根据所述按键灯控制数据中的所述闪烁位标志数据更新所述对应的闪烁位标志,以得到更新后闪烁位标志数组;以及根据所述更新后闪烁位标志数组对所述更新后表征数组中的目标芯片引脚状态信息进行反复取反操作,以使与所述目标芯片引脚状态信息对应的按键灯闪烁。
为便于更清楚地理解本实施例的按键灯控制方法,下面将结合图2进行详细说明。
如图2所示的按键灯控制设备可以为嵌入式设备20,包括:嵌入式处理器21、多个按键K1-Kn、多个按键灯L1-Lm、输入/输出(I/O)扩展芯片组23以及多个移位寄存器芯片241-24y。其中,n、m及y为自然数。
每个按键对应至少一个按键灯,例如,每个按键可以对应一个按键灯,此时m=n。每个按键可以对应两个按键灯,此时m=2n。本领域技术人员可以理解,每个按键对应三个按键灯时,m=3n,以此类推,m为n的整数倍。
所述输入/输出扩展芯片组23连接多个按键K1-Kn,并连接嵌入式处理器21。所述输入/输出扩展芯片组23所包含的输入/输出扩展芯片的数量视按键K1-Kn的数量而定,也即其可以是包含一个输入/输出扩展芯片或多个输入/输出扩展芯片。例如,输入/输出扩展芯片可以为TCA9555I/O扩展芯片。
所述多个移位寄存器芯片241-24y串联连接,并连接至嵌入式处理器21。每个移位寄存器芯片均包括多个引脚,设每个移位寄存器芯片均包括z个引脚,则y*z≥m,其中,z 为自然数。例如,移位寄存器芯片可采用MBI5041LED恒流驱动芯片,每个MBI5041包括 16个引脚。所述多个按键灯L1-Lm按顺序依次连接到所述多个串联的移位寄存器芯片 240-24y的多个引脚上,每个按键灯对应连接一个所述移位寄存器芯片的一个所述引脚,从而使得按键灯和引脚存在一一对应的连接关系。本领域技术人员可以理解,引脚的数量大于按键灯的数量时,多余的引脚空置即可。
所述嵌入式处理器21通过输入/输出扩展芯片组23连接所述多个按键K1-Kn,并通过所述多个寄存器芯片240-24y对应连接所述多个按键灯L1-Lm。所述嵌入式处理器21内置按键驱动程序和按键灯驱动程序,以驱动按键K1-Kn和按键灯L1-Lm。所述嵌入式处理器 21例如是基于ARM的MCU,其例如通过I2C等总线连接输入/输出扩展芯片。
所述嵌入式处理器21内置所述映射数组、所述表征数组和所述闪烁位标志数组。
所述映射数组包括每个所述按键的按键值和每个所述按键灯对应的芯片序号及芯片引脚序号。所述映射数组的格式不限,例如可以为{按键值,按键类型,{按键对应按键灯的芯片序号,对应的红色按键灯的芯片引脚序号,对应的绿色按键灯的芯片引脚序号}},其中{按键对应按键灯的芯片序号,对应的红色按键灯的芯片引脚序号,对应的绿色按键灯的芯片引脚序号}表征的是按键灯对应连接的引脚位置。
建立映射数组的过程是一种对象化的过程,就是把具体元件在代码里表达出来,在调用时就根据对象化思想来操作具体元件的对象。这样做的好处是把按键与按键灯这两个硬件上不存在实际关系的元件通过映射数组结合在了一起,体现出了对应关系。如此,在后续需要把某一个按键对应的某色按键灯点亮、熄灭或闪烁,就可以根据映射数组找到对应的按键灯的位置信息,即所在芯片的序号及其所对应引脚的序号,根据位置信息来操作引脚赋值即可实现对应按键灯的状态操控。
所述表征数组包括按照芯片序号及按芯片引脚序号依次排列的多个芯片引脚状态信息,每个所述芯片引脚状态信息用于表征对应的芯片序号及引脚序号的所述按键灯的状态。举例而言,所述表征数组包括y个移位寄存器芯片共y*z个引脚的芯片引脚状态信息,其中, y*z个芯片引脚状态信息按照芯片序号241至24y依次排列,每个移位寄存器芯片的z个芯片引脚状态信息中,按照引脚序号00至z依次排列。例如,表征数组可以为:
{[241]={0x0000,0x0000......0x0000}
...
[24y]={0x0000,0x0000......0x0000}}
在上述表征数组中,以字符串“0x0000”表征每个按键灯的状态。其中,“0x”表示十六进制,“0000”为亮度控制数据,用四位数据表示其灰度值。举例而言,“0000”可以表示对应的按键灯处于亮度为最弱即灭灯状态;“ffff”可以表示对应的按键灯处于亮度最强即亮灯状态。本领域技术人员可以理解,在其它实施例中,也可以用其它方式表征每个按键灯的状态。
所述闪烁位标志数组包括m个闪烁标志位,用于表征m个按键灯处于闪烁使能还是闪烁禁能。举例而言,闪烁位标志数组可以为{00,00,...00}形式,共包括64个闪烁标志位,闪烁标志位置零“00”表示闪烁禁能,置1“01”表示闪烁使能。
本实施例中,以n=32,m=64,y=4,z=16为例说明按键灯控制方法的各具体步骤,即,以嵌入式设备20包括32个按键、64个按键灯和4个串联的移位寄存器芯片、每个按键对应一个红色按键灯和一个绿色按键灯、每个移位寄存器芯片包括16个引脚为例进行说明。
在步骤S11中,按键驱动程序通过实时扫描获取因按键被触发而产生的按键值。举例而言,当按键K1被按下时,按键驱动程序即扫描到按键值KEY_SCANCODE_K1。
在步骤S12中,按键驱动程序根据所述按键值查询关联按键值与按键灯连接位置信息的映射数组,以得到对应的按键灯连接位置信息中的芯片序号及芯片引脚序号。
举例而言,按键K1对应红色按键灯L1和绿色按键灯L2,红色按键灯L1对应连接至移位寄存器芯片241的01引脚,绿色按键灯L2对应连接至移位寄存器芯片241的02引脚,则映射数组中关于按键K1的数据可以为{KEY_SCANCODE_K1,EV_KEY,{241,01,02}}。再例如,按键Kn对应红色按键灯Lm-1和绿色按键灯Lm,红色按键灯Lm-1对应连接至移位寄存器芯片24y的z-1引脚,绿色按键灯Lm对应连接至移位寄存器芯片24y的z引脚,则映射数组中关于按键Kn的数据可以为{KEY_SCANCODE_Kn,EV_KEY,{24y,z-1,z}}。当n=32,m=64,y=4,z=16时,K32对应的数据为{KEY_SCANCODE_K32,EV_KEY,{244, 15,16}}。
在步骤S13中,形成按键灯控制数据,其中所述按键灯控制数据包含所述芯片序号及芯片引脚序号和亮度控制数据。所述亮度控制数据可以由十六进制字符串表示。可以理解,用户使用业务软件选择按键灯的状态,即用户层的业务软件下发所述按键灯的亮度控制数据,从而使得底层获得包含所述芯片序号及芯片引脚序号和亮度控制数据的所述按键灯控制数据。所述按键灯控制数据按预设数据结构形成,其形式不限,可以为数组形式,也可以为其它形式。
在步骤S14中,按键灯驱动程序获取所述按键灯控制数据,并根据所述按键灯控制数据中的所述芯片序号及芯片引脚序号查找关联芯片序号与芯片引脚状态信息的表征数组以得到对应的芯片引脚状态信息,进一步根据所述按键灯控制数据中的所述亮度控制数据更新所述对应的芯片引脚状态信息,以得到更新后表征数组。
举例而言,所述按键灯控制数据要求变更芯片序号为241、引脚序号为01的红色按键灯的状态,将其由灭变亮,则将表征数组中移位寄存器芯片241的16个芯片引脚状态信息中,第一个芯片引脚状态信息“0x0000”变更为“0xffff”。即,表征数组变更为:
{[241]={0xffff,0x0000......0x0000}
...
[24y]={0x0000,0x0000......0x0000}}
可以理解,当所述按键灯控制数据要求变更芯片序号为241、引脚序号为01的红色按键灯的状态及引脚序号为02的绿色按键灯的状态,将所述两个按键灯均由灭变亮,则将表征数组中移位寄存器芯片241的16个芯片引脚状态信息中,第一个和第二个芯片引脚状态信息均从“0x0000”变更为“0xffff”,变更后的表征数组为:
{[241]={0xffff,0xffff......0x0000}
...
[24y]={0x0000,0x0000......0x0000}}
本领域技术人员可以理解,以此类推,可以变更每个按键灯对应的芯片引脚状态信息。
在步骤S15中,将所述更新后表征数据组中的芯片引脚状态信息以串行方式输出至嵌入式处理器21中的按键灯驱动程序,所述按键灯驱动程序依据所述变更后的表征数组刷新所述多个串联的移位寄存器芯片241-24y,以刷新被触发按键对应的按键灯的状态。
按键灯的状态可以包括亮和灭两种状态,也可以包括亮、灭、闪烁三种状态,当然还可以包括其它状态。所述闪烁状态可以通过如下方法实现:
在步骤S13之前,根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找闪烁位标志数组以得到对应的闪烁位标志。
在步骤S13中,形成按键灯控制数据时,所述按键灯控制数据还包括对应的闪烁位标志,根据所述按键灯控制数据中的所述闪烁位标志数据更新所述对应的闪烁位标志,以得到更新后闪烁位标志数组。举例而言,当用户层要求按键灯L1闪烁,按键灯驱动程序将闪烁位标志数组的第一个闪烁标志位置1,即从闪烁禁能变更为闪烁使能,对应的,闪烁位标志数组变更为{01,00,...00}。
在步骤S14中,按键灯驱动程序根据所述更新后闪烁位标志数组对所述更新后表征数组中的对应芯片引脚状态信息进行反复取反操作,即,使得按键灯L1对应的芯片引脚状态信息在“0xffff”和“0x0000”之间反复切换。从而,使得在步骤S15中,对应的按键灯L1反复亮灭,即实现闪烁。
需要说明的是,对于嵌入式设备20中的多个按键K1-Kn所对应的按键灯的状态刷新,由于采用的是串联的多个移位寄存器芯片241-24y,因此每做一次按键灯的状态更新,多个移位寄存器芯片241-24y的每个引脚都会写入一次数据,即使只控制一个按键灯,所有连接按键灯的引脚都会刷新一次数据。
当用户进行按键操作时,例如按下某个按键,嵌入式设备20中的按键驱动程序可以通过输入/输出扩展芯片组23的按键检测结果获取按键值比如K1,并查找出对应的按键灯、对应的按键灯的芯片序号及引脚序号,并通过poll/select机制上报按键值K1及对应按键灯L1、L2至上层应用层,上层应用层输入信息以选择对对应按键灯L1、L2作状态操作,形成按键灯控制数据时,按键灯驱动程序获取来自应用层的按键灯控制数据,并变更表征数组中对应的芯片引脚状态信息,从而实现对按键操作的指示灯响应。
综上所述,本实施方式采用多个移位寄存器芯片串联的方式,在理论上可以外接无数个按键灯例如LED灯,突破了现有技术中GPIO(通用输入/输接口)数量的限制;由于为按键灯建立了表征数组,开发者可以无视嵌入式设备的按键数量,极大地方便了开发者的应用;极大的简化了按键和按键灯映射到真正的嵌入式设备的过程,极大的提高了代码的稳定性;以及具有极高的兼容性,可以应用到多个场景,极大地丰富了开发者的手段。
【第二实施例】
如图3所示,本发明第二实施例提供的一种按键灯控制装置30,包括:获取模块31、第一查找模块32、数据生成模块33、第二查找模块34以及状态刷新模块35。所述获取模块31用于获取因按键被触发而产生的按键值。所述第一查找模块32用于根据所述按键值查询关联按键值与按键灯连接位置信息的映射数组,以得到对应的按键灯连接位置信息中的芯片序号及芯片引脚序号。所述数据生成模块33用于按照预设数据结构形成按键灯控制数据,其中所述按键灯控制数据包含所述芯片序号及芯片引脚号和亮度控制数据。所述第二查找模块34用于根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找关联芯片序号与芯片引脚状态信息的表征数组以得到对应的芯片引脚状态信息,并根据所述按键灯控制数据中的所述亮度控制数据更新所述对应的芯片引脚状态信息,以得到更新后表征数组。所述状态刷新模块35用于将所述更新后表征数据组中的芯片引脚状态信息以串行方式输出,以刷新所述按键对应的按键灯的状态。
当所述按键灯控制数据还包含闪烁位标志数据、且所述闪烁位标志数据表示闪烁使能,所述按键灯控制装置30还包括第三查找模块36和闪烁控制模块37。所述第三查找模块36 用于根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找闪烁位标志数组以得到对应的闪烁位标志,并根据所述按键灯控制数据中的所述闪烁位标志数据更新所述对应的闪烁位标志,以得到更新后闪烁位标志数组。所述闪烁控制模块37用于根据所述更新后闪烁位标志数组对所述更新后表征数组中的目标芯片引脚状态信息进行反复取反操作,以使与所述目标芯片引脚状态信息对应的按键灯闪烁。
综上所述,本实施方式采用多个移位寄存器芯片串联的方式,在理论上可以外接无数个按键灯例如LED灯,突破了现有技术中GPIO(通用输入/输接口)数量的限制;由于为按键灯建立了表征数组,开发者可以无视嵌入式设备的按键数量,极大地方便了开发者的应用;极大的简化了按键和按键灯映射到真正的嵌入式设备的过程,极大的提高了代码的稳定性;以及具有极高的兼容性,可以应用到多个场景,极大地丰富了开发者的手段。
【第三实施例】
如图4所示,本发明第三实施例提供的一种按键灯控制系统40,包括:处理器41和存储器43;其中,存储器43存储由处理器41执行的指令,且所述指令例如使得处理器41执行操作以实施前述第一实施例所述的按键灯控制方法。
综上所述,本实施方式采用多个移位寄存器芯片串联的方式,在理论上可以外接无数个按键灯例如LED灯,突破了现有技术中GPIO(通用输入/输接口)数量的限制;由于为按键灯建立了表征数组,开发者可以无视嵌入式设备的按键数量,极大地方便了开发者的应用;极大的简化了按键和按键灯映射到真正的嵌入式设备的过程,极大的提高了代码的稳定性;以及具有极高的兼容性,可以应用到多个场景,极大地丰富了开发者的手段。
此外,可以理解的是,前述各个实施例仅为本发明的示例性说明,在技术特征不冲突、结构不矛盾、不违背本发明的发明目的前提下,各个实施例的技术方案可以任意组合、搭配使用。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和/或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多路单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多路网络单元上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元/模块可以集成在一个处理单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一个单元/模块中。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元/模块的形式实现。
上述以软件功能单元/模块的形式实现的集成的单元/模块,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)的一个或多个处理器执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Onlz Memorz,简称ROM)、随机存取存储器(Random Access Memorz,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种按键灯控制设备,其特征在于,包括:
多个按键;
输入/输出扩展芯片组,连接所述多个按键;
嵌入式处理器,连接所述输入/输出扩展芯片组;
多个移位寄存器芯片,串联连接至所述嵌入式处理器,每个所述移位寄存器芯片均包括多个引脚;以及
多个按键灯,每个所述按键对应至少一个所述按键灯,以建立映射数组和表征数组,所述多个按键灯连接所述多个移位寄存器芯片,且每个所述按键灯对应连接一个所述移位寄存器芯片的一个所述引脚;
其中,所述嵌入式处理器用于根据所述映射数组和所述表征数组控制所述按键灯的状态;
其中,所述嵌入式处理器具体用于形成按键灯控制数据、并根据所述按键灯控制数据查找并更新所述表征数组以得到更新后表征数组、且根据所述更新后表征数组刷新所述按键对应的按键灯的状态。
2.如权利要求1所述的按键灯控制设备,其特征在于,所述嵌入式处理器具体用于:
获取因所述输入/输出扩展芯片组连接的目标按键被触发而产生的按键值;
根据所述按键值查询关联按键值与按键灯连接位置信息的所述映射数组,以得到对应的按键灯连接位置信息中的芯片序号及芯片引脚号;
形成按键灯控制数据,其中所述按键灯控制数据包含所述芯片序号及芯片引脚序号和亮度控制数据;
根据所述按键灯控制数据中的所述芯片序号及芯片引脚序号查找关联芯片序号与芯片引脚状态信息的所述表征数组以得到对应的芯片引脚状态信息,并根据所述按键灯控制数据中的所述亮度控制数据更新所述对应的芯片引脚状态信息,以得到更新后表征数组;以及
将所述更新后表征数组中的芯片引脚状态信息以串行方式输出至所述多个移位寄存器芯片,以刷新所述按键对应的按键灯的状态。
3.如权利要求2所述的按键灯控制设备,其特征在于,当所述按键灯控制数据还包含闪烁位标志数据、且所述闪烁位标志数据表示闪烁使能,所述嵌入式处理器还用于:
根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找闪烁位标志数组以得到对应的闪烁位标志,并根据所述按键灯控制数据中的所述闪烁位标志数据更新所述对应的闪烁位标志,以得到更新后闪烁位标志数组;以及
根据所述更新后闪烁位标志数组对所述更新后表征数组中的目标芯片引脚状态信息进行反复取反操作,并在每次取反操作后的表征数据中的芯片引脚状态信息以串行方式输出至所述多个移位寄存器芯片,从而实现与所述目标芯片引脚状态信息对应的按键灯闪烁。
4.如权利要求3所述的按键灯控制设备,其特征在于,设所述多个按键的数量为n,设所述多个按键灯的数量为m,设所述多个移位寄存器芯片的数量为y,每个移位寄存器芯片的所述引脚的数量为z,则y*z≥m,m=an,其中a、y、z、n及m为自然数。
5.一种按键灯控制方法,其特征在于,包括:
获取因按键被触发而产生的按键值;
根据所述按键值查询关联按键值与按键灯连接位置信息的映射数组,以得到对应的按键灯连接位置信息中的芯片序号及芯片引脚号;
形成按键灯控制数据,其中所述按键灯控制数据包含所述芯片序号及芯片引脚号和亮度控制数据;
根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找关联芯片序号与芯片引脚状态信息的表征数组以得到对应的芯片引脚状态信息,并根据所述按键灯控制数据中的所述亮度控制数据更新所述对应的芯片引脚状态信息,以得到更新后表征数组;以及
将所述更新后表征数组中的芯片引脚状态信息以串行方式输出,以刷新所述按键对应的按键灯的状态。
6.如权利要求5所述的按键灯控制方法,其特征在于,当所述按键灯控制数据还包含闪烁位标志数据、且所述闪烁位标志数据表示闪烁使能,所述按键灯控制方法还包括:
根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找闪烁位标志数组以得到对应的闪烁位标志,并根据所述按键灯控制数据中的所述闪烁位标志数据更新所述对应的闪烁位标志,以得到更新后闪烁位标志数组;以及
根据所述更新后闪烁位标志数组对所述更新后表征数组中的目标芯片引脚状态信息进行反复取反操作,以使与所述目标芯片引脚状态信息对应的按键灯闪烁。
7.如权利要求5所述的按键灯控制方法,其特征在于,以十六进制字符串表征芯片引脚状态信息,所述表征数组中的芯片引脚状态信息按照芯片序号及引脚序号依次排列。
8.一种按键灯控制装置,其特征在于,包括:
获取模块,用于获取因按键被触发而产生的按键值;
第一查找模块,用于根据所述按键值查询关联按键值与按键灯连接位置信息的映射数组,以得到对应的按键灯连接位置信息中的芯片序号及芯片引脚号;
数据生成模块,用于形成按键灯控制数据,其中所述按键灯控制数据包含所述芯片序号及芯片引脚号和亮度控制数据;
第二查找模块,用于根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找关联芯片序号与芯片引脚状态信息的表征数组以得到对应的芯片引脚状态信息,并根据所述按键灯控制数据中的所述亮度控制数据更新所述对应的芯片引脚状态信息,以得到更新后表征数组;以及
状态刷新模块,用于将所述更新后表征数组中的芯片引脚状态信息以串行方式输出,以刷新所述按键对应的按键灯的状态。
9.如权利要求8所述的按键灯控制装置,其特征在于,当所述按键灯控制数据还包含闪烁位标志数据、且所述闪烁位标志数据表示闪烁使能,所述按键灯控制装置还包括:
第三查找模块,用于根据所述按键灯控制数据中的所述芯片序号及芯片引脚号查找闪烁位标志数组以得到对应的闪烁位标志,并根据所述按键灯控制数据中的所述闪烁位标志数据更新所述对应的闪烁位标志,以得到更新后闪烁位标志数组;以及
闪烁控制模块,用于根据所述更新后闪烁位标志数组对所述更新后表征数组中的目标芯片引脚状态信息进行反复取反操作,以使与所述目标芯片引脚状态信息对应的按键灯闪烁。
10.一种按键灯控制系统,其特征在于,包括:处理器和连接所述处理器的存储器;其中所述存储器存储有所述处理器执行的指令,且所述指令使得所述处理器执行操作以进行如权利要求5至7任意一项所述的按键灯控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910438833.9A CN111988881B (zh) | 2019-05-24 | 2019-05-24 | 按键灯控制方法、装置、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910438833.9A CN111988881B (zh) | 2019-05-24 | 2019-05-24 | 按键灯控制方法、装置、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988881A CN111988881A (zh) | 2020-11-24 |
CN111988881B true CN111988881B (zh) | 2023-01-10 |
Family
ID=73436175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910438833.9A Active CN111988881B (zh) | 2019-05-24 | 2019-05-24 | 按键灯控制方法、装置、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988881B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN204231711U (zh) * | 2014-11-19 | 2015-03-25 | 俞继峰 | 一种智能灯串及智能灯串系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201111585Y (zh) * | 2007-07-02 | 2008-09-10 | 东莞建达制造有限公司 | 一种led装饰灯串 |
CN201562365U (zh) * | 2009-12-17 | 2010-08-25 | 浙江富阳市新源交通电子有限公司 | 一种用于道路交通信号控制机的控制主板电路 |
CN107037352B (zh) * | 2017-04-06 | 2020-01-17 | 芯海科技(深圳)股份有限公司 | 一种电容式触控按键芯片检测标定系统及方法 |
CN107450829B (zh) * | 2017-06-27 | 2021-06-15 | 武汉逸飞激光设备有限公司 | 触摸屏单页面显示方法、触摸屏及可编程逻辑控制器 |
-
2019
- 2019-05-24 CN CN201910438833.9A patent/CN111988881B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN204231711U (zh) * | 2014-11-19 | 2015-03-25 | 俞继峰 | 一种智能灯串及智能灯串系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111988881A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111800923B (zh) | 一种灯光控制方法、装置、可读存储介质及终端设备 | |
CN102509539A (zh) | 显示设备系统可自动匹配通用面板的方法 | |
CN101373589A (zh) | 在显示装置中使用的显示控制方法和显示装置 | |
CN112485934B (zh) | 一种led显示屏热插拔检测方法及相关装置 | |
CN109697035B (zh) | 级联设备的地址数据的写入方法、写入设备及存储介质 | |
US10761681B2 (en) | Visual representation of network-discovered components | |
US7965884B2 (en) | System and method for testing LEDs on a motherboard | |
CN111988881B (zh) | 按键灯控制方法、装置、系统及设备 | |
WO2020071639A1 (ko) | 프로그램 개발 시스템 및 이를 이용한 개발 방법 | |
CN112455328A (zh) | 一种用于汽车氛围灯的触控装置及实现方法 | |
CN112309313B (zh) | 模组控制器配置方法、装置及系统以及计算机可读存储介质 | |
CN111831267A (zh) | 软件开发支持装置、软件开发支持方法以及软件开发支持程序 | |
WO2023167391A1 (ko) | 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법 | |
CN114637711B (zh) | 芯片的控制方法、控制数据传输方法、装置和计算机设备 | |
CN213892330U (zh) | 一种用于汽车氛围灯的触控装置 | |
CN111683428A (zh) | 按键灯驱动方法、装置及系统和嵌入式设备 | |
CN114783354A (zh) | 一种色偏补偿方法、架构及介质 | |
CN113778299A (zh) | 照明设备的控制方法、装置、电子设备及存储介质 | |
CN110708787B (zh) | 一种双色灯的控制装置及方法、存储介质和设备 | |
WO2022109783A1 (zh) | 一种led显示屏的数据存储方法及相关装置 | |
KR102637269B1 (ko) | 고장에 강인한 디스플레이 구동 방법 | |
CN101562934A (zh) | 一种双色指示灯显示第三种颜色方法及系统 | |
CN111542163B (zh) | 按键灯控制方法、装置及系统和按键灯系统 | |
JPH02210527A (ja) | プリンタ接続装置 | |
CN110780920B (zh) | 一种数据处理方法、装置、客户端及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |