两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

建立嵌入式系統(tǒng)和PC主機通信連接的方法與流程

文檔序號:11154913閱讀:598來源:國知局
建立嵌入式系統(tǒng)和PC主機通信連接的方法與制造工藝

本發(fā)明涉及嵌入式軟件開發(fā)技術(shù)領(lǐng)域,尤其涉及一種建立嵌入式系統(tǒng)和PC主機通信連接的方法。



背景技術(shù):

UART(Universal Asynchronous Receiver and Transmitter)是通用異步收發(fā)器的簡稱(異步串行通信口),是一種通用的數(shù)據(jù)通信協(xié)議,屬于鏈路層的協(xié)議。特點是通信線路簡單,利用簡單的線纜就可實現(xiàn)通信,降低成本,適用于速度慢的應(yīng)用場合。異步通信以一個字符為傳輸單位,通信中兩個字符間的時間間隔是不固定的,但在同一個字符中的鄰位傳送的時間間隔是固定的。數(shù)據(jù)傳送的速率用波特率來表示,就是每秒傳送的二進制位數(shù)。

在嵌入式系統(tǒng)開發(fā)過程中,經(jīng)常需要用UART口來和PC主機通信,例如用串口作為嵌入式系統(tǒng)的控制終端,或者把嵌入式系統(tǒng)的調(diào)試信息通過串口輸出到PC主機上,方便調(diào)試人員調(diào)試程序,或者通過串口來更新嵌入式系統(tǒng)的軟件。在打開PC端的串口工具的時候,需要知道嵌入式系統(tǒng)端的UART的參數(shù)配置,如果雙方的參數(shù)設(shè)置不一致,雙方通信是不可能成功的。如果不是嵌入式系統(tǒng)的開發(fā)人員,可能不知道嵌入式系統(tǒng)UART參數(shù)的配置,如果嘗試去配置這些參數(shù),由于這些參數(shù)有許多種組合,可能需要很長的時間才能找到正確的配置,效率低下。有的嵌入式系統(tǒng)有幾個相同的UART接口,只是用于不同的功能,不清楚到底要用哪個UART接口來和PC串口來連接通信。

因此,有必要提供一種新的建立嵌入式系統(tǒng)和PC主機通信連接的方法來解決上述問題。



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

本發(fā)明需要解決的技術(shù)問題是提供一種建立嵌入式系統(tǒng)和PC主機通信連接的方法,其不需要預(yù)先知道嵌入式系統(tǒng)端的UART接口參數(shù)配置就可以建立起嵌入式系統(tǒng)和PC主機兩者間的通信連接。

本發(fā)明提供了一種建立嵌入式系統(tǒng)和PC主機通信連接的方法,包括如下步驟:

S1、初始化波特率和數(shù)據(jù)幀格式數(shù)組,用兩個索引來分別表示所述波特率和所述數(shù)據(jù)幀格式;

S2、設(shè)置兩個所述索引的索引值為0;

S3、用索引值為0所對應(yīng)的所述波特率和所述數(shù)據(jù)幀格式的參數(shù)值初始化嵌入式系統(tǒng)的所有UART接口;

S4、接收從PC主機串口發(fā)送的特征數(shù)據(jù);

S5、選擇一個所述UART接口,判斷選擇的所述UART接口是否接收到所述特征數(shù)據(jù),若否,則執(zhí)行步驟S6;若是,則執(zhí)行步驟S8;

S6、循環(huán)切換到下一個所述UART接口;

S7、循環(huán)檢測切換到的所述UART接口是否收到特征數(shù)據(jù),若否,則返回執(zhí)行步驟S6;若是,則執(zhí)行步驟S8;

S8、判斷接收的所述特征數(shù)據(jù)是否是協(xié)議字節(jié),若否,則執(zhí)行步驟S9;若是,則通信建立成功;

S9、修改波特率和數(shù)據(jù)幀格式的參數(shù)值,并返回執(zhí)行步驟S5。

優(yōu)選的,所述數(shù)據(jù)幀格式包括數(shù)據(jù)位、奇偶校驗位及停止位。

優(yōu)選的,所述數(shù)據(jù)位的個數(shù)為5、6、7或8,所述奇偶校驗位為沒有或奇校驗、偶校驗、空,所述停止位是1位、1.5位、2位的高電平。

優(yōu)選的,步驟S2中,所述索引指向所述數(shù)組的第一個單元。

優(yōu)選的,步驟S4中,在接收從PC主機串口發(fā)送的特征數(shù)據(jù)之前還包括開啟計時器。

優(yōu)選的,步驟S5中,還包括判斷所述計時器是否超時,若未超時,則執(zhí)行步驟S6;若超時,則執(zhí)行步驟S51;其中,若所述計時器超時,則包括如下步驟:

S51、將數(shù)據(jù)幀格式索引加1;

S52、判斷數(shù)據(jù)幀格式索引是否達到最大值,若否,則執(zhí)行步驟S521;若是,則執(zhí)行步驟S522;

S521、用數(shù)據(jù)幀格式索引對應(yīng)的索引值設(shè)置所有的所述UART接口,重置所述計時器,然后執(zhí)行步驟S5;

S522、將波特率索引加1;

S523、判斷波特率索引是否到最大值,若否,則執(zhí)行步驟S5231;若是,則通信建立失?。?/p>

S5231、將數(shù)據(jù)幀格式索引的索引值重置為0;

S5232、用索引值為0對應(yīng)的波特率和數(shù)據(jù)幀格式的參數(shù)值設(shè)置所有的所述UART接口,重置所述計時器,然后執(zhí)行步驟S5。

優(yōu)選的,步驟S8中,判斷接收的所述特征數(shù)據(jù)是否是協(xié)議字節(jié)具體包括步驟:

S81、判斷接收的特征數(shù)據(jù)是否是期待的同步字,若否,則執(zhí)行步驟S82;若是,則執(zhí)行步驟S83;

S82、判斷是否是第一個同步字,若否,則執(zhí)行步驟S5;若是,則執(zhí)行步驟S85;

S83、返回回應(yīng)字;

S84、判斷協(xié)議字節(jié)是否全部接收,若否,則執(zhí)行步驟S86;若是,則通信建立成功;

S85、返回回應(yīng)字;

S86、重置所述計時器的時間,接收下個同步字。

優(yōu)選的,步驟S9中,修改波特率和數(shù)據(jù)幀格式的參數(shù)值具體包括步驟:

S91、固定波特率,修改數(shù)據(jù)幀格式參數(shù),直至所有的數(shù)據(jù)幀格式參數(shù)測試完畢;

S92、設(shè)置下一個波特率,重新修改數(shù)據(jù)幀格式參數(shù),直至所有的數(shù)據(jù)幀格式參數(shù)測試完畢。

優(yōu)選的,步驟S92中,數(shù)據(jù)幀格式從數(shù)組的第一個單元開始測試。

與相關(guān)技術(shù)相比,本發(fā)明提供的建立嵌入式系統(tǒng)和PC主機通信連接的方法具有如下有益效果:

1、能自動監(jiān)測PC主機串口的波特率設(shè)置;

2、能自動監(jiān)測PC主機串口的數(shù)據(jù)幀格式設(shè)置;

3、能檢測是哪個UART接口和PC主機串口通信,而不需要事先知道嵌入式系統(tǒng)應(yīng)用哪個UART接口來和PC串口通信;

4、使用計時器的機制,針對不同的參數(shù)值設(shè)置不同的超時時間值;

5、在打開PC主機串口和嵌入式系統(tǒng)的UART接口通信時,不需要知道嵌入式系統(tǒng)的UART接口的波特率配置和數(shù)據(jù)幀格式的設(shè)置。

附圖說明

圖1為本發(fā)明建立嵌入式系統(tǒng)和PC主機通信連接的方法的流程圖;

圖2為本發(fā)明建立嵌入式系統(tǒng)和PC主機通信連接的方法的步驟S5中若所述計時器超時的流程圖;

圖3為本發(fā)明建立嵌入式系統(tǒng)和PC主機通信連接的方法的步驟S8中判斷接收的所述特征數(shù)據(jù)是否是協(xié)議字節(jié)的流程圖;

圖4為本發(fā)明建立嵌入式系統(tǒng)和PC主機通信連接的方法的步驟S9中修改波特率和數(shù)據(jù)幀格式的參數(shù)值的流程圖;

圖5為本發(fā)明建立嵌入式系統(tǒng)和PC主機通信連接的方法的原理圖。

具體實施方式

下面將對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明的一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。

請參閱圖1,圖1為本發(fā)明建立嵌入式系統(tǒng)和PC主機通信連接的方法的流程圖。在嵌入式系統(tǒng)開發(fā)過程中,經(jīng)常需要使用UART接口和PC主機通信,所述UART接口與所述PC主機的串口通信連接,不但需要波特率設(shè)置一樣,數(shù)據(jù)幀格式同樣需要設(shè)置一樣,否則不能正常通信,因此,為了實現(xiàn)所述UART接口與所述PC主機的通信,本發(fā)明提供了一種建立嵌入式系統(tǒng)和PC主機通信連接的方法,包括如下步驟:

S1、初始化波特率和數(shù)據(jù)幀格式數(shù)組,用兩個索引來分別表示所述波特率和所述數(shù)據(jù)幀格式;

所述數(shù)據(jù)幀格式包括數(shù)據(jù)位、奇偶校驗位及停止位。所述數(shù)據(jù)位的個數(shù)為5、6、7或8,所述奇偶校驗位為沒有或奇校驗、偶校驗、空,所述停止位是1位、1.5位、2位的高電平。

S2、設(shè)置兩個所述索引的索引值為0,所述索引指向所述數(shù)組的第一個單元;

S3、用索引值為0所對應(yīng)的所述波特率和所述數(shù)據(jù)幀格式的參數(shù)值初始化嵌入式系統(tǒng)的所有UART接口;

S4、接收從PC主機串口發(fā)送的特征數(shù)據(jù);

在接收從PC主機串口發(fā)送的特征數(shù)據(jù)之前還包括開啟計時器。

S5、選擇一個所述UART接口,判斷選擇的所述UART接口是否接收到所述特征數(shù)據(jù),若否,則執(zhí)行步驟S6;若是,則執(zhí)行步驟S8;

再結(jié)合圖2,圖2為本發(fā)明建立嵌入式系統(tǒng)和PC主機通信連接的方法的步驟S5中所述計時器超時的流程圖。在執(zhí)行步驟S6之前還包括判斷所述計時器是否超時,若未超時,則執(zhí)行步驟S6;若超時,則執(zhí)行步驟S51。若所述計時器超時,則包括如下步驟:

S51、將數(shù)據(jù)幀格式索引加1;

S52、判斷數(shù)據(jù)幀格式索引是否達到最大值,若否,則執(zhí)行步驟S521;若是,則執(zhí)行步驟S522;

S521、用數(shù)據(jù)幀格式索引對應(yīng)的索引值設(shè)置所有的所述UART接口,重置所述計時器,然后執(zhí)行步驟S5;

S522、將波特率索引加1;

S523、判斷波特率索引是否到最大值,若否,則執(zhí)行步驟S5231;若是,則通信建立失??;

S5231、將數(shù)據(jù)幀格式索引的索引值重置為0;

S5232、用索引值為0對應(yīng)的波特率和數(shù)據(jù)幀格式的參數(shù)值設(shè)置所有的所述UART接口,重置所述計時器,然后執(zhí)行步驟S5。

S6、循環(huán)切換到下一個所述UART接口;

S7、循環(huán)檢測切換到的所述UART接口是否收到特征數(shù)據(jù),若否,則返回執(zhí)行步驟S6;若是,則執(zhí)行步驟S8;

S8、判斷接收的所述特征數(shù)據(jù)是否是協(xié)議字節(jié),若否,則執(zhí)行步驟S9;若是,則通信建立成功;

再結(jié)合圖3,圖3為本發(fā)明建立嵌入式系統(tǒng)和PC主機通信連接的方法的步驟S8中判斷接收的所述特征數(shù)據(jù)是否是協(xié)議字節(jié)的流程圖。其中,判斷接收的所述特征數(shù)據(jù)是否是協(xié)議字節(jié)具體包括如下步驟:

S81、判斷接收的特征數(shù)據(jù)是否是期待的同步字,若否,則執(zhí)行步驟S82;若是,則執(zhí)行步驟S83;

S82、判斷是否是第一個同步字,若否,則執(zhí)行步驟S5;若是,則執(zhí)行步驟S85;

S83、返回回應(yīng)字;

S84、判斷協(xié)議字節(jié)是否全部接收,若否,則執(zhí)行步驟S86;若是,則通信建立成功;

S85、返回回應(yīng)字;

S86、重置所述計時器的時間,接收下個同步字。

S9、修改波特率和數(shù)據(jù)幀格式的參數(shù)值,并返回執(zhí)行步驟S5。

其中,所述同步字指的是特征數(shù)據(jù)中由所述PC主機發(fā)出并在嵌入式系統(tǒng)的所述UART接口被接收到的數(shù)據(jù)。所述回應(yīng)字指的是嵌入式系統(tǒng)的所述UART接口接收到同步字后對所述PC主機的一種回應(yīng),表示已接收到數(shù)據(jù)。

再結(jié)合圖4,圖4為本發(fā)明建立嵌入式系統(tǒng)和PC主機通信連接的方法的步驟S9中修改波特率和數(shù)據(jù)幀格式的參數(shù)值的流程圖。其中,修改波特率和數(shù)據(jù)幀格式的參數(shù)值具體包括步驟:

S91、固定波特率,修改數(shù)據(jù)幀格式參數(shù),直至所有的數(shù)據(jù)幀格式參數(shù)測試完畢;

S92、設(shè)置下一個波特率,重新修改數(shù)據(jù)幀格式參數(shù),直至所有的數(shù)據(jù)幀格式參數(shù)測試完畢;

數(shù)據(jù)幀格式從數(shù)組的第一個單元開始測試。

再一起參閱圖5,圖5為本發(fā)明建立嵌入式系統(tǒng)和PC主機通信連接的方法的原理圖。本發(fā)明提供的了建立嵌入式系統(tǒng)和PC主機通信連接的方法的工作原理如下:首先需要初始化一個常用的波特率和數(shù)據(jù)幀格式的數(shù)組,并用兩個索引來分別表示當前正在測試的波特率和數(shù)據(jù)幀格式。將兩個索引的索引值初始化為0,指向數(shù)組的第一個單元。用索引值為0所對應(yīng)的波特率和數(shù)據(jù)幀格式初始化嵌入式系統(tǒng)的所有的UART接口,開啟計時器,準備接收從PC主機串口發(fā)送的特征數(shù)據(jù)。首先選擇一個UART接口,并判斷選擇的該UART接口是否收到數(shù)據(jù),如果沒有收到數(shù)據(jù),則判斷所述計時器是否超時,若沒有超時,就循環(huán)切換到下一個UART口,循環(huán)檢測UART接口是否有收到數(shù)據(jù);如果該選擇的UART接口接收到數(shù)據(jù),說明正在用該UART接口在通信,這樣就可以檢測出正在使用哪個UART接口在和PC主機串口通信。

如果UART口接收到數(shù)據(jù),我們就要判斷接收的數(shù)據(jù)是否是協(xié)議字節(jié),如果不是協(xié)議字節(jié),說明UART接口參數(shù)配置不正確,則需要修改波特率和數(shù)據(jù)幀格式的參數(shù)值,然后需要測試修改后的參數(shù)值,直到所有的協(xié)議字節(jié)都匹配完成,則通信參數(shù)匹配成功。如果所有的參數(shù)配置測試完畢,協(xié)議字節(jié)仍舊沒有匹配成功,則通信參數(shù)匹配不成功。

在發(fā)明中,應(yīng)用了計時器的機制,當修改UART接口的參數(shù)配置后,需要設(shè)置計時器的超時時間。并且對不同的UART接口參數(shù)配置,超時的時間值也是不一樣的。利用計時器機制可以減少每次測試UART接口參數(shù)的時間。

與相關(guān)技術(shù)相比,本發(fā)明提供的建立嵌入式系統(tǒng)和PC主機通信連接的方法具有如下有益效果:

1、能自動監(jiān)測PC主機串口的波特率設(shè)置;

2、能自動監(jiān)測PC主機串口的數(shù)據(jù)幀格式設(shè)置;

3、能檢測是哪個UART接口和PC主機串口通信,而不需要事先知道嵌入式系統(tǒng)應(yīng)用哪個UART接口來和PC串口通信;

4、使用計時器的機制,針對不同的參數(shù)值設(shè)置不同的超時時間值;

5、在打開PC主機串口和嵌入式系統(tǒng)的UART接口通信時,不需要知道嵌入式系統(tǒng)的UART接口的波特率配置和數(shù)據(jù)幀格式的設(shè)置。

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

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宝清县| 晋中市| 抚顺县| 阜南县| 阜新| 洪湖市| 双桥区| 阿城市| 三河市| 平阳县| 上杭县| 萝北县| 中山市| 沅陵县| 沾益县| 长沙县| 连平县| 涡阳县| 托克托县| 定陶县| 囊谦县| 南安市| 淄博市| 连南| 陇南市| 佛坪县| 延吉市| 庆城县| 长岭县| 万州区| 博罗县| 扎兰屯市| 建昌县| 宜州市| 荆门市| 威远县| 故城县| 睢宁县| 达孜县| 开江县| 石台县|