CN108270692A - 一种智能家居中串口数据传输方法 - Google Patents
一种智能家居中串口数据传输方法 Download PDFInfo
- Publication number
- CN108270692A CN108270692A CN201711284806.8A CN201711284806A CN108270692A CN 108270692 A CN108270692 A CN 108270692A CN 201711284806 A CN201711284806 A CN 201711284806A CN 108270692 A CN108270692 A CN 108270692A
- Authority
- CN
- China
- Prior art keywords
- serial data
- fifo queue
- smart home
- control module
- transmission method
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明提供了一种智能家居中串口数据传输方法,具体的,所述方法包括:初始化FIFO队列;利用所述FIFO队列对智能家居中的串口数据进行传输。利用FIFO队列对智能家居中的串口数据进行传输,当在同时接受多次操作请求时,有效的解决由于串口的串行方式而在同时来到多个数据时所造成的有效数据丢失的问题。
Description
技术领域
本说明书涉及智能家居领域,尤其涉及一种智能家居中串口数据传输方法。
背景技术
目前技术为智能家居项目模块间通过串口进行数据通信,都是直接对串口进行读和写操作,这样做的缺点在于当大量数据待操作时,由于缓冲区的问题会导致待操作数据的丢失问题。
基于现有技术,亟需一种能够有效解决同一时间数据过多而造成的数据丢失的问题。
发明内容
本说明书实施例提供一种智能家居中串口数据传输方法,以解决现有技术中同一时间数据过多而造成的数据丢失的问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本发明提供了一种智能家居中串口数据传输方法,包括:
初始化FIFO队列;
利用所述FIFO队列对智能家居中的串口数据进行传输。
优选的,在上述的智能家居中串口数据传输方法中,初始化FIFO队列,包括:
建立所述FIFO队列;
设置一个属性描述符,所述属性描述符用于描述对所述FIFO队列的操作类型。
优选的,在上述的智能家居中串口数据传输方法中,所述FIFO队列包括:读FIFO队列和写FIFO队列。
优选的,在上述的智能家居中串口数据传输方法中,利用所述FIFO队列对智能家居中的串口数据进行传输,包括:
当中控模块有串口数据发送给主控模块时,则将所述串口数据写入所述写FIFO队列;
当所述主控模块发送串口数据给所述中控模块时,则将所述串口数据写入所述读FIFO队列。
优选的,在上述的智能家居中串口数据传输方法中,当所述主控模块发送所述串口数据给中控模块时,先检测所述串口数据是否存在栈内,若不存在,则再将所述串口数据写入所述读FIFO队列。
优选的,在上述的智能家居中串口数据传输方法中,所述属性描述符包括入栈操作、出栈操作以及异步操作。
优选的,在上述的智能家居中串口数据传输方法中,利用所述FIFO队列对智能家居中的串口数据进行传输,包括:
当中控模块有串口数据发送给主控模块时,则,通过入栈操作将所述串口数据写入所述写FIFO队列;
当所述主控模块发送串口数据给所述中控模块时,则,通过入栈操作将所述串口数据写入所述读FIFO队列。
优选的,在上述的智能家居中串口数据传输方法中,当中控模块有串口数据发送给主控模块时,通过异步操作定时检查所述写FIFO队列中是否有数据,当有数据时,通过所述出栈操作读取数据。
优选的,在上述的智能家居中串口数据传输方法中,当所述主控模块发送串口数据给所述中控模块时,通过异步操作定时检查所述读FIFO队列中是否有数据,当有数据时,通过所述出栈操作从所述读FIFO队列中读取数据。
在本发明实施例提供的一种智能家居中串口数据传输方法,利用FIFO队列对智能家居中的串口数据进行传输,当在同时接受多次操作请求时,有效的解决由于串口的串行方式而在同时来到多个数据时所造成的有效数据丢失的问题。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中智能家居中串口数据传输方法的流程图;
图2为本发明一实施例中FIFO队列的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
本发明一实施例提供了一种智能家居中串口数据传输方法,如图1所示,图1为本发明一实施例中智能家居中串口数据传输方法的流程图。所述智能家居中串口数据传输方法包括:初始化FIFO队列,如图1中的步骤S101所示;然后利用所述FIFO队列对智能家居中的串口数据进行传输,如图1中的步骤S103所示。
步骤S101,初始化FIFO队列。
具体的,初始化FIFO队列包括:建立FIFO队列,并对所建立的所述FIFO队列设置一个属性描述符,所述属性描述符用于描述对所述FIFO队列的操作类型。
由于串口具有读和写两种操作,因此,在本发明一实施例中,所述FIFO队列包括读FIFO队列和写FIFO队列。基于此,利用所述FIFO队列对智能家居中的串口数据进行传输,包括:当中控模块有串口数据发送给主控模块时,则将所述串口数据写入所述写FIFO队列;当所述主控模块发送串口数据给所述中控模块时,则将所述串口数据写入所述读FIFO队列。
进一步的,当所述主控模块发送所述串口数据给中控模块时,先检测所述串口数据是否存在栈内,若不存在,则再将所述串口数据写入所述读FIFO队列。
更进一步的,所述属性描述符包括入栈操作、出栈操作以及异步操作,基于所述属性描述符、读FIFO队列以及写FIFO队列.
步骤S103,利用所述FIFO队列对智能家居中的串口数据进行传输。
具体的,利用所述FIFO队列对智能家居中的串口数据进行传输包括:
首先,获取串口数据,对所述串口数据在读缓冲区操作之后建立读FIFO队列,对所述串口数据在写缓冲区操作之前建立所述写FIFO队列。可以实现单个动作的不间断操作,也不会因为同一时间数据过多而来不及处理所造成数据丢失。
其次,当中控模块有数据需要发送给主控模块时,将所述串口数据通过所述入栈操作写入所述写FIFO队列。并通过所述异步操作定时检查所述写FIFO队列中是否有数据需要处理,如果检测到所述写FIFO队列中有数据需要处理时,则通过所述出栈操作从所述写FIFO队列中读取所述串口数据做相应处理。
当主控模块有数据需要发送给中控模块时,先将读取的数据通过栈查找来检测读取到的数据是否在栈内已存在,如果已经存在,则不做任何处理。如果不存在,则通过所述入栈操作写入所述读FIFO队列。并通过所述异步操作定时检查所述读FIFO队列是否有数据需要处理,如果检测到所述读FIFO队列中有数据需要处理,则通过所述出栈操作从所述读FIFO队列中读取数据做相应处理。可以有效避免数据重复操作而造成不必要的麻烦,使得数据处理得到优化,提高了用户体验。
进一步的,在本发明实施例中,读操作遵循读时钟,在每个时钟沿来临时读取数据;写操作遵循写时钟,在每个时钟来临时写数据;读指针指向下一个地址,即在读完一个数据后,读指针自动加1;写指针指向下一个要写入数据的地址,在写完后自动加1,查找指针用于查找数据是否在队列中已存在。在从所述读FIFO队列中读取数据时,依据所述读时钟并利用所述读指针实现;在向所述写FIFO队列中写入数据时,依据所述写时钟并利用所述写指针实现的;所述异步操作就是利用所述查找指针实现的。
接下来以一个具体实施例来介绍本发明实施例提供的智能家居中串口数据传输方法,如图2所示,图2为本发明一实施例中FIFO队列的示意图。对所述FIFO队列设置了所述读指针、写指针以及查找指针。进一步的,所述读指针主要用于对出栈时待读取数据的数据指针,写指针主要用于对入栈时写数据指针,所述查找指针主要用于在入栈之前先判断当前栈内数据是否存在相同的,每次查找时从读指针开始到写指针结束。
需要说明的是,在所述FIFO队列实现过程中,所述FIFO队列初始化为64个数据单元,我可以循环使用这个64个数据单元,也就是说,当写指针超过64个数据单元时,从头开始写入,当写指针和读指针同时指向同一块数据单元时退出。
在本发明实施例提供的一种智能家居中串口数据传输方法,利用FIFO队列对智能家居中的串口数据进行传输,当在同时接受多次操作请求时,有效的解决由于串口的串行方式而在同时来到多个数据时所造成的有效数据丢失的问题。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种智能家居中串口数据传输方法,其特征在于,包括:
初始化FIFO队列;
利用所述FIFO队列对智能家居中的串口数据进行传输。
2.根据权利要求1所述的智能家居中串口数据传输方法,其特征在于,初始化FIFO队列,包括:
建立所述FIFO队列;
设置一个属性描述符,所述属性描述符用于描述对所述FIFO队列的操作类型。
3.根据权利要求2所述的智能家居中串口数据传输方法,其特征在于,所述FIFO队列包括:读FIFO队列和写FIFO队列。
4.根据权利要求3所述的智能家居中串口数据传输方法,其特征在于,利用所述FIFO队列对智能家居中的串口数据进行传输,包括:
当中控模块有串口数据发送给主控模块时,则将所述串口数据写入所述写FIFO队列;
当所述主控模块发送串口数据给所述中控模块时,则将所述串口数据写入所述读FIFO队列。
5.根据权利要求4所述的智能家居中串口数据传输方法,其特征在于,当所述主控模块发送所述串口数据给中控模块时,先检测所述串口数据是否存在栈内,若不存在,则再将所述串口数据写入所述读FIFO队列。
6.根据权利要求3所述的智能家居中串口数据传输方法,其特征在于,所述属性描述符包括入栈操作、出栈操作以及异步操作。
7.根据权利要求6所述的智能家居中串口数据传输方法,其特征在于,利用所述FIFO队列对智能家居中的串口数据进行传输,包括:
当中控模块有串口数据发送给主控模块时,则,通过入栈操作将所述串口数据写入所述写FIFO队列;
当所述主控模块发送串口数据给所述中控模块时,则,通过入栈操作将所述串口数据写入所述读FIFO队列。
8.根据权利要求7所述的智能家居中串口数据传输方法,其特征在于,当中控模块有串口数据发送给主控模块时,通过异步操作定时检查所述写FIFO队列中是否有数据,当有数据时,通过所述出栈操作读取数据。
9.根据权利要求7所述的智能家居中串口数据传输方法,其特征在于,当所述主控模块发送串口数据给所述中控模块时,通过异步操作定时检查所述读FIFO队列中是否有数据,当有数据时,通过所述出栈操作从所述读FIFO队列中读取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711284806.8A CN108270692A (zh) | 2017-12-07 | 2017-12-07 | 一种智能家居中串口数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711284806.8A CN108270692A (zh) | 2017-12-07 | 2017-12-07 | 一种智能家居中串口数据传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108270692A true CN108270692A (zh) | 2018-07-10 |
Family
ID=62772013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711284806.8A Pending CN108270692A (zh) | 2017-12-07 | 2017-12-07 | 一种智能家居中串口数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108270692A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133662A1 (en) * | 2001-03-16 | 2002-09-19 | Hugo Cheung | Serial peripheral interface with high performance buffering scheme |
CN101989072A (zh) * | 2009-07-31 | 2011-03-23 | 宁波家天下智能系统有限公司 | 一种家居设备控制终端及家居设备控制器 |
CN104809093A (zh) * | 2015-04-13 | 2015-07-29 | 苏州凌犀物联网技术有限公司 | 对串行接口传输的数据进行处理的方法及装置 |
CN105391649A (zh) * | 2015-10-16 | 2016-03-09 | 浪潮(北京)电子信息产业有限公司 | 一种队列调度方法及装置 |
CN106095716A (zh) * | 2016-06-24 | 2016-11-09 | 武汉光迅科技股份有限公司 | 一种基于首尾循环队列的串口通信方法 |
-
2017
- 2017-12-07 CN CN201711284806.8A patent/CN108270692A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133662A1 (en) * | 2001-03-16 | 2002-09-19 | Hugo Cheung | Serial peripheral interface with high performance buffering scheme |
CN101989072A (zh) * | 2009-07-31 | 2011-03-23 | 宁波家天下智能系统有限公司 | 一种家居设备控制终端及家居设备控制器 |
CN104809093A (zh) * | 2015-04-13 | 2015-07-29 | 苏州凌犀物联网技术有限公司 | 对串行接口传输的数据进行处理的方法及装置 |
CN105391649A (zh) * | 2015-10-16 | 2016-03-09 | 浪潮(北京)电子信息产业有限公司 | 一种队列调度方法及装置 |
CN106095716A (zh) * | 2016-06-24 | 2016-11-09 | 武汉光迅科技股份有限公司 | 一种基于首尾循环队列的串口通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8516492B2 (en) | Soft partitions and load balancing | |
US20150127649A1 (en) | Efficient implementations for mapreduce systems | |
US11509530B2 (en) | Impartial buffering in stream processing | |
US20140019572A1 (en) | Remote Direct Memory Access Socket Aggregation | |
CN107818056A (zh) | 一种队列管理方法及装置 | |
US8856407B2 (en) | USB redirection for write streams | |
CN110462599A (zh) | 用于循环缓冲器的自主硬件管理的设备和方法 | |
CN102395958B (zh) | 一种数据包的并发处理方法及设备 | |
CN102118434A (zh) | 数据包传输方法和设备 | |
CN102629240A (zh) | 一种串口通信方法与装置 | |
US10338822B2 (en) | Systems and methods for non-uniform memory access aligned I/O for virtual machines | |
CN103986585A (zh) | 报文预处理方法及其装置 | |
CN105868136A (zh) | 处理多个命令/命令帧的电子装置及命令帧处理方法 | |
CN102750245B (zh) | 报文接收方法、报文接收模块、装置及系统 | |
CN105068875B (zh) | 一种智能数据处理方法及装置 | |
CN103440213A (zh) | 一种应用于具有多cpu和网卡的系统的网卡驱动方法 | |
US9479438B2 (en) | Link aggregation based on virtual interfaces of VLANs | |
CN104811431A (zh) | 基于并行协议栈实例的数据包处理方法和装置 | |
WO2022156376A1 (zh) | 一种目标地址的预取方法、系统、设备及介质 | |
WO2022032990A1 (zh) | 一种命令信息传输方法、系统、装置及可读存储介质 | |
CN108270692A (zh) | 一种智能家居中串口数据传输方法 | |
CN109271096A (zh) | Nvme存储扩展系统 | |
US10735286B2 (en) | Recovery from a networking backend disconnect | |
CN104137512B (zh) | 一种数据备份方法、装置和系统 | |
CN107911317A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180710 |