亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

串口復(fù)用方法及電子設(shè)備與流程

文檔序號(hào):12917666閱讀:575來(lái)源:國(guó)知局

本發(fā)明涉及串口通信技術(shù)領(lǐng)域,尤其涉及一種串口復(fù)用方法及電子設(shè)備。



背景技術(shù):

目前,藍(lán)牙通信技術(shù)應(yīng)用場(chǎng)景很廣泛,比如藍(lán)牙收銀錢箱、藍(lán)牙打印機(jī)、藍(lán)牙耳機(jī)等,其通信服務(wù)也有很多種,串口通信服務(wù)就是其中之一。

對(duì)于市面上大部分的藍(lán)牙設(shè)備,當(dāng)兩個(gè)藍(lán)牙設(shè)備進(jìn)行配對(duì),其中一個(gè)設(shè)備上的應(yīng)用通過(guò)串口通信服務(wù)和另一個(gè)設(shè)備連接后,第二個(gè)應(yīng)用要再和它連接,或者是多個(gè)藍(lán)牙設(shè)備同時(shí)要與同一個(gè)藍(lán)牙設(shè)備建立藍(lán)牙串口通信,就會(huì)發(fā)現(xiàn)設(shè)備被占用的情況。

然而,串口通信無(wú)法復(fù)用的話,比如藍(lán)牙打印機(jī),一部手持智能設(shè)備上的多個(gè)應(yīng)用或多部手持智能設(shè)備上的應(yīng)用,無(wú)法同時(shí)使用其進(jìn)行打印。同理,串口被某個(gè)設(shè)備占用后,其他設(shè)備無(wú)法繼續(xù)使用,只能等待,浪費(fèi)設(shè)備資源。

目前一般通過(guò)帶有標(biāo)識(shí)的數(shù)據(jù)來(lái)區(qū)分不同的虛擬串口的數(shù)據(jù),來(lái)實(shí)現(xiàn)串口復(fù)用。但通過(guò)帶有標(biāo)識(shí)的數(shù)據(jù)來(lái)區(qū)分的話,每次每包數(shù)據(jù)都需要帶標(biāo)識(shí),即需要打包與解包的過(guò)程,且不同虛擬通道的數(shù)據(jù)邏輯上是混在一起傳輸?shù)?,此方案過(guò)程相對(duì)繁瑣,容易出錯(cuò)。

另外,在公開(kāi)號(hào)為cn101067794a的中國(guó)專利公開(kāi)文件中,提出了一種多核處理器及其串口復(fù)用方法,包括多核多線程處理器,用于運(yùn)行至少一個(gè)內(nèi)核線程,以及在接收到切換控制模塊的切換控制消息后,進(jìn)行串口在內(nèi)核線程間的切換;串口,用于將多核多線程處理器的至少一個(gè)內(nèi)核線程的數(shù)據(jù)發(fā)送至外部,并與用于串口中斷掛接的串口主控內(nèi)核線程進(jìn)行數(shù)據(jù)交互;以及切換控制模塊,連接于串口和多核多線程處理器之間,用于控制多核多線程處理器中的一個(gè)或多個(gè)內(nèi)核線程的切換以共享所述串口。但該方案是通過(guò)切換控制模塊進(jìn)行線程切換以實(shí)現(xiàn)串口復(fù)用的,無(wú)法實(shí)現(xiàn)多個(gè)線程同時(shí)向外發(fā)送消息,也即無(wú)法實(shí)現(xiàn)多個(gè)應(yīng)用同時(shí)復(fù)用串口。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問(wèn)題是:提供一種串口復(fù)用方法及電子設(shè)備,可實(shí)現(xiàn)多個(gè)應(yīng)用或設(shè)備同時(shí)使用藍(lán)牙串口服務(wù)。

為了解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案為:一種串口復(fù)用方法,包括:

創(chuàng)建第一線程;

第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;

創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程;

第二線程接收并處理與其對(duì)應(yīng)的應(yīng)用程序或藍(lán)牙設(shè)備的數(shù)據(jù)。

本發(fā)明還涉及一種電子設(shè)備,包括一個(gè)或多個(gè)處理器及存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有程序,并且被配置成由所述一個(gè)或多個(gè)處理器執(zhí)行以下步驟:

創(chuàng)建第一線程;

第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;

創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程;

第二線程接收并處理與其對(duì)應(yīng)的應(yīng)用程序或藍(lán)牙設(shè)備的數(shù)據(jù)。

本發(fā)明的有益效果在于:通過(guò)設(shè)置一個(gè)第一線程專門用來(lái)接收處理應(yīng)用或其他藍(lán)牙設(shè)備的連接請(qǐng)求,接收到連接請(qǐng)求后,即為每個(gè)應(yīng)用或藍(lán)牙設(shè)備新建一個(gè)第二線程,后續(xù)由對(duì)應(yīng)的第二線程來(lái)接收處理應(yīng)用或藍(lán)牙設(shè)備發(fā)送的串口通信數(shù)據(jù),從而實(shí)現(xiàn)串口復(fù)用。本發(fā)明可使多個(gè)應(yīng)用或藍(lán)牙設(shè)備同時(shí)與同一個(gè)藍(lán)牙設(shè)備建立藍(lán)牙串口通信,實(shí)現(xiàn)串口復(fù)用,且過(guò)程簡(jiǎn)便,虛擬通道各自獨(dú)立并行,使得傳輸不易出錯(cuò),保證傳輸可靠性。

附圖說(shuō)明

圖1為本發(fā)明實(shí)施例一的一種串口復(fù)用方法的流程圖。

具體實(shí)施方式

為詳細(xì)說(shuō)明本發(fā)明的技術(shù)內(nèi)容、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖詳予說(shuō)明。

本發(fā)明最關(guān)鍵的構(gòu)思在于:設(shè)置一個(gè)第一線程專門用來(lái)接收處理應(yīng)用或其他藍(lán)牙設(shè)備的連接請(qǐng)求;為每個(gè)應(yīng)用或藍(lán)牙設(shè)備新建一個(gè)第二線程,后續(xù)由對(duì)應(yīng)的第二線程來(lái)接收處理串口通信數(shù)據(jù)。

請(qǐng)參閱圖1,一種串口復(fù)用方法,包括:

創(chuàng)建第一線程;

第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;

創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程;

第二線程接收并處理與其對(duì)應(yīng)的應(yīng)用程序或藍(lán)牙設(shè)備的數(shù)據(jù)。

從上述描述可知,本發(fā)明的有益效果在于:使多個(gè)應(yīng)用或藍(lán)牙設(shè)備同時(shí)與同一個(gè)藍(lán)牙設(shè)備建立藍(lán)牙串口通信,實(shí)現(xiàn)串口復(fù)用。

進(jìn)一步地,所述“第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程”具體為:

第一線程接收一應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求,所述串口通信連接請(qǐng)求包括所述一應(yīng)用程序或藍(lán)牙設(shè)備的唯一標(biāo)識(shí)符;

創(chuàng)建一第二線程,并將所述一第二線程的唯一標(biāo)識(shí)符與所述一應(yīng)用程序或藍(lán)牙設(shè)備的唯一標(biāo)識(shí)符進(jìn)行關(guān)聯(lián)。

由上述描述可知,通過(guò)唯一標(biāo)識(shí)符來(lái)創(chuàng)建一一對(duì)應(yīng)的第二線程,后續(xù)可通過(guò)唯一標(biāo)識(shí)符的關(guān)聯(lián)關(guān)系來(lái)確定應(yīng)用或藍(lán)牙設(shè)備所對(duì)應(yīng)的第二線程。

進(jìn)一步地,所述“第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程”之后,進(jìn)一步包括:

第一線程阻塞等待新的應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求。

由上述描述可知,只要系統(tǒng)資源足夠,可以一直接受其他應(yīng)用或藍(lán)牙設(shè)備的連接請(qǐng)求。

進(jìn)一步地,各應(yīng)用程序和藍(lán)牙設(shè)備對(duì)應(yīng)的第二線程并行。

由上述描述可知,多個(gè)應(yīng)用或藍(lán)牙設(shè)備可同時(shí)與同一個(gè)藍(lán)牙設(shè)備進(jìn)行藍(lán)牙串口通信的數(shù)據(jù)傳輸。

本發(fā)明還提出一種電子設(shè)備,包括一個(gè)或多個(gè)處理器及存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有程序,并且被配置成由所述一個(gè)或多個(gè)處理器執(zhí)行以下步驟:

創(chuàng)建第一線程;

第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;

創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程;

第二線程接收并處理與其對(duì)應(yīng)的應(yīng)用程序或藍(lán)牙設(shè)備的數(shù)據(jù)。

進(jìn)一步地,所述“第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程”具體為:

第一線程接收一應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求,所述串口通信連接請(qǐng)求包括所述一應(yīng)用程序或藍(lán)牙設(shè)備的唯一標(biāo)識(shí)符;

創(chuàng)建一第二線程,并將所述一第二線程的唯一標(biāo)識(shí)符與所述一應(yīng)用程序或藍(lán)牙設(shè)備的唯一標(biāo)識(shí)符進(jìn)行關(guān)聯(lián)。

進(jìn)一步地,所述“第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程”之后,進(jìn)一步包括:

第一線程阻塞等待新的應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求。

進(jìn)一步地,各應(yīng)用程序和藍(lán)牙設(shè)備對(duì)應(yīng)的第二線程并行。

實(shí)施例一

請(qǐng)參照?qǐng)D1,本發(fā)明的實(shí)施例一為:一種串口復(fù)用方法,可應(yīng)用于藍(lán)牙設(shè)備,包括如下步驟:

s1:在藍(lán)牙串口服務(wù)的接收端創(chuàng)建第一線程;所述第一線程相當(dāng)于一個(gè)以線程的方式來(lái)實(shí)現(xiàn)的接收服務(wù),在開(kāi)機(jī)時(shí)啟動(dòng),主要任務(wù)是等待處理藍(lán)牙串口方式的接入請(qǐng)求。

s2:第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求。

s3:創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程。

s4:第二線程接收并處理與其對(duì)應(yīng)的應(yīng)用程序或藍(lán)牙設(shè)備的數(shù)據(jù)。

進(jìn)一步地,步驟s2-s3中,當(dāng)?shù)谝痪€程接收到一應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求時(shí),所述串口通信連接請(qǐng)求包括所述一應(yīng)用程序或藍(lán)牙設(shè)備的唯一標(biāo)識(shí)符,則創(chuàng)建一第二線程,并將所述一第二線程的唯一標(biāo)識(shí)符與所述一應(yīng)用程序或藍(lán)牙設(shè)備的唯一標(biāo)識(shí)符進(jìn)行關(guān)聯(lián)。

進(jìn)一步地,步驟s3之后,第一線程阻塞等待新的應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求。

進(jìn)一步地,步驟s4中,各應(yīng)用程序和藍(lán)牙設(shè)備對(duì)應(yīng)的第二線程并行。

本實(shí)施例通過(guò)設(shè)置一個(gè)第一線程專門用來(lái)接收處理應(yīng)用或其他藍(lán)牙設(shè)備的連接請(qǐng)求,接收到連接請(qǐng)求后,為每個(gè)連接請(qǐng)求分配一個(gè)第二線程,即為每個(gè)應(yīng)用或藍(lán)牙設(shè)備新建一個(gè)第二線程,后續(xù)由對(duì)應(yīng)的第二線程來(lái)接收處理應(yīng)用或藍(lán)牙設(shè)備發(fā)送的串口通信數(shù)據(jù),且各應(yīng)用或藍(lán)牙設(shè)備所對(duì)應(yīng)的第二線程是并行的,這樣就可以實(shí)現(xiàn)多個(gè)連接同時(shí)存在,同時(shí)傳輸數(shù)據(jù)。

本實(shí)施例可使多個(gè)應(yīng)用或藍(lán)牙設(shè)備同時(shí)與同一個(gè)藍(lán)牙設(shè)備建立藍(lán)牙串口通信,實(shí)現(xiàn)串口復(fù)用,且過(guò)程簡(jiǎn)便,虛擬通道各自獨(dú)立并行,使得傳輸不易出錯(cuò),保證傳輸可靠性。

實(shí)施例二

本實(shí)施例為實(shí)施例一的一具體應(yīng)用場(chǎng)景。

在藍(lán)牙串口服務(wù)的接收端,開(kāi)啟一個(gè)接收服務(wù),此服務(wù)開(kāi)機(jī)啟動(dòng),以線程的方式來(lái)實(shí)現(xiàn),其主要任務(wù)是等待處理藍(lán)牙串口方式的接入請(qǐng)求。當(dāng)有其他藍(lán)牙設(shè)備或應(yīng)用請(qǐng)求連接的時(shí)候,保存該連接的句柄,并將所述句柄作為標(biāo)識(shí)來(lái)開(kāi)啟一個(gè)獨(dú)立的通信數(shù)據(jù)處理線程,即在接到連接請(qǐng)求的時(shí)候,為這個(gè)請(qǐng)求新建一個(gè)數(shù)據(jù)處理線程,來(lái)處理通過(guò)該連接發(fā)送的數(shù)據(jù)。其中,各個(gè)數(shù)據(jù)處理線程之間是并行的,互不干擾的。

進(jìn)一步地,新建一個(gè)數(shù)據(jù)處理線程相當(dāng)于新建一個(gè)通信通道。連接句柄可用于標(biāo)識(shí)建立通信通道時(shí)的數(shù)據(jù)來(lái)源,通信通道建立完成后,此來(lái)源的數(shù)據(jù)就固定從這個(gè)通信通道進(jìn)行傳輸,數(shù)據(jù)包無(wú)需再加相關(guān)標(biāo)識(shí)進(jìn)行分發(fā),數(shù)據(jù)需求方即可獲取對(duì)應(yīng)的數(shù)據(jù)。在通信結(jié)束前,句柄對(duì)應(yīng)的通信通道只用于傳輸句柄對(duì)應(yīng)的數(shù)據(jù)來(lái)源發(fā)送的數(shù)據(jù)。

代碼可如下所示:

可以看出,每接收一次的新應(yīng)用或新藍(lán)牙設(shè)備的連接請(qǐng)求,便建立一個(gè)新的虛擬通道,一個(gè)虛擬通道傳輸一個(gè)應(yīng)用或藍(lán)牙設(shè)備的數(shù)據(jù),但實(shí)際使用都是同一個(gè)物理設(shè)備,從而實(shí)現(xiàn)了串口復(fù)用。

實(shí)施例三

本實(shí)施例是對(duì)應(yīng)上述實(shí)施例的一種電子設(shè)備,包括一個(gè)或多個(gè)處理器及存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有程序,并且被配置成由所述一個(gè)或多個(gè)處理器執(zhí)行以下步驟:

創(chuàng)建第一線程;

第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;

創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程;

第二線程接收并處理與其對(duì)應(yīng)的應(yīng)用程序或藍(lán)牙設(shè)備的數(shù)據(jù)。

進(jìn)一步地,所述“第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程”具體為:

第一線程接收一應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求,所述串口通信連接請(qǐng)求包括所述一應(yīng)用程序或藍(lán)牙設(shè)備的唯一標(biāo)識(shí)符;

創(chuàng)建一第二線程,并將所述一第二線程的唯一標(biāo)識(shí)符與所述一應(yīng)用程序或藍(lán)牙設(shè)備的唯一標(biāo)識(shí)符進(jìn)行關(guān)聯(lián)。

進(jìn)一步地,所述“第一線程接收應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求;創(chuàng)建與所述應(yīng)用程序或藍(lán)牙設(shè)備一一對(duì)應(yīng)的第二線程”之后,進(jìn)一步包括:

第一線程阻塞等待新的應(yīng)用程序或藍(lán)牙設(shè)備發(fā)送的串口通信連接請(qǐng)求。

進(jìn)一步地,各應(yīng)用程序和藍(lán)牙設(shè)備對(duì)應(yīng)的第二線程并行。

綜上所述,本發(fā)明提供的一種串口復(fù)用方法及電子設(shè)備,通過(guò)設(shè)置一個(gè)第一線程專門用來(lái)接收處理應(yīng)用或其他藍(lán)牙設(shè)備的連接請(qǐng)求,接收到連接請(qǐng)求后,即為每個(gè)應(yīng)用或藍(lán)牙設(shè)備新建一個(gè)第二線程,后續(xù)由對(duì)應(yīng)的第二線程來(lái)接收處理應(yīng)用或藍(lán)牙設(shè)備發(fā)送的串口通信數(shù)據(jù),從而實(shí)現(xiàn)串口復(fù)用。本發(fā)明可使多個(gè)應(yīng)用或藍(lán)牙設(shè)備同時(shí)與同一個(gè)藍(lán)牙設(shè)備建立藍(lán)牙串口通信,實(shí)現(xiàn)串口復(fù)用,且過(guò)程簡(jiǎn)便,虛擬通道各自獨(dú)立并行,使得傳輸不易出錯(cuò),保證傳輸可靠性。

以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等同變換,或直接或間接運(yùn)用在相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1