一種電腦與串口外接模塊自動匹配通信的方法,其特征是電腦串口通信軟件通過檢測串口接收消息包的方式自動識別串口外接模塊連接電腦的串口的端口號,串口外接模塊通過檢測波形自動計算匹配電腦RS232串口的波特率。本發明專利技術使得電腦與串口外接模塊通信使用更加簡便。(*該技術在2024年保護過期,可自由使用*)
【技術實現步驟摘要】
本專利技術涉及通信技術,特別是涉及電腦與串口外接模塊的RS232通信技術。
技術介紹
電腦與串口外接模塊的RS232通信技術,常用于家用電子產品、工業控制、安全識別等領域。由于電腦有多個串口,外接模塊可以被連接在任意一個串口上,傳統的RS232通信技術中,沒有提供自動匹配通信方案,需要用戶辨別電腦串口的端口號,手工配置端口號、波特率,對用戶要求較高,用戶使用不方便。
技術實現思路
本專利技術要解決的技術問題在于避免上述現有技術的不足之處而提出一種,無需用戶辨別串口的端口號,無需手工配置端口號和波特率,使用方便。本專利技術解決所述技術問題可以通過采用以下技術方案來實現提出一種,包括有電腦、電腦串口通信軟件、串口外接模塊,在采用預先約定的波特率通信時,包括以下步驟①串口外接模塊初始化I/O口,按約定的波特率偵聽電腦串口發送的數據②電腦串口通信軟件按約定的波特率依次初始化所有電腦串口,啟動接收線程,向每個串口發送握手包;③串口外接模塊接收到握手包,回復握手響應包;④電腦串口通信軟件接收到某個串口返回的握手響應包后,判斷此串口上有外接模塊,記錄此串口的端口號,使用此串口進行通信。上述方案的特征在于電腦串口通信軟件通過檢測串口接收消患包的方式自動識別串口外接模塊連接電腦的RS232串口的端口號。也可以由串口外接模塊主動發送握手包,電腦串口通信軟件通過檢測某個串口接收到消息包來判斷串口外接模塊連接的端口號。之所以采用由電腦串口通信軟件主動發送握手包、檢測握手響應包的方案,是考慮到可以與串口外接模塊通過檢測波形自動計算電腦RS232串口的波特率的技術方案統一起來。上述方案適用于電腦和串口外接模塊采用預先約定的波特率通信的情況。用戶可把串口外接模塊連接到電腦串口的任一端口上,無需用戶手工配置端口號,系統可自動識別端口號進行通信。在電腦與串口外接模塊沒有約定波特率的情況下,提出一種串口外接模塊自動檢測電腦串口波特率的方法,包括有電腦、電腦串口通信軟件、串口外接模塊,包括以下步驟①串口外接模塊初始化I/O口,循環偵聽電腦串口是否發送數據;②電腦串口通信軟件按缺省的波特率依次初始化所有電腦串口,啟動接收線程,向每個串口發送握手包;③串口外接模塊在檢測到電腦串口發送數據時,用計數器測量低電平保持時間,計算每位時間寬度,確定電腦發送數據的波特率;④串口外接模塊根據步驟③確定的波特率向電腦回復握手響應包;⑤電腦串口通信軟件接收到某個串口返回的握手響應包后,判斷此串口上有外接模塊,記錄此串口的端口號,使用此串口進行通信;同現有技術相比較,本專利技術的技術效果在于自動識別串口外接模塊所連接的電腦串口的端口號,串口外接模塊自動檢測匹配波特率,無需用戶辨別電腦端口號,無需手工配置,使用方便。本專利技術的技術方案實現成本低,接口清晰,可以方便地嵌入到家用電子產品、工業控制、安全識別等方案中。附圖說明圖1是本專利技術的總體架構示意圖;圖2是串口外接模塊(2)的電路原理圖; 圖3是電腦(1)與串口外接模塊(2)以約定波特率通信的軟件流程圖;圖4是電腦(1)與串口外接模塊(2)不約定波特率,自動匹配波特率的軟件流程圖;圖4-1是電腦(1)與串口外接模塊(2)軟件主流程圖,圖4-2是串口外接模塊(2)根據握手包檢測波特率的電平波形示意圖,圖4-3是串口外接模塊(2)檢測波特率軟件流程圖;具體實施方式 以下結合附圖所示之最佳實施例作進一步詳述。如圖1所示,電腦(1)有四個串口,包括COM1(13)、COM2(14)、COM3(15)、COM4(16);串口通信軟件(12)負責管理所有串口的初始化、數據發送/接收,并判斷串口外接模塊(2)與哪個串口相連;串口外接模塊(2)連接在電腦(1)的任意一個串口。串口通信軟件對應用軟件(11)提供了統一的通信接口供其調用,并屏蔽了端口號、波特率等串口通信細節;優選的,串口通信軟件(12)作為一個動態鏈接庫供應用軟件(11)調用,也可以封裝成一個類嵌入到應用軟件(11)中。通過專用的多串口卡設備,電腦(1)可以提供四個以上的串口,串口通信軟件(12)對所有串口采用同樣的管理流程。圖2是串口外接模塊(2)的電路原理圖。串口外接模塊(2)連接到電腦(1)的任意一個串口,通過竊電電路從電腦(1)串口獲取5V電源;電路以8位單片機EM78P156為中心控制模塊,以軟件方式實現串口通信,單片機I/O管腳P61負責向電腦(1)串口發送數據,單片機I/O管腳P62負責接收來自電腦(1)的串行數據。所述串口外接模塊電路是低成本的優選方案,市場上也有其它采用專用芯片實現RS232通信電路的方案,這里不再詳述。圖3是電腦(1)與串口外接模塊(2)以約定波特率通信的軟件流程圖,其流程詳述如下 串口外接模塊(2)初始化I/O口,按約定的波特率偵聽電腦串口發送的數據;電腦串口通信軟件(12)按約定的波特率依次初始化串口COM1(13)、COM2(14)、COM3(15)、COM4(16),啟動接收線程,向每個串口發送握手包;串口外接模塊(2)接收到握手包,按約定的波特率回復握手響應包;電腦串口通信軟件(12)接收到某個串口返回的握手響應包后,判斷此串口上連接有串口外接模塊(2),記錄此串口的端口號,使用此串口進行通信;其它串口在指定時間內沒有收到握手回復包,電腦串口通信軟件(12)判斷其它串口上沒有串口外接模塊,關閉其它端口。圖4是電腦(1)與串口外接模塊(2)不約定波特率,自動匹配波特率的軟件流程圖;圖4-1是電腦(1)與串口外接模塊(2)軟件主流程圖,圖4-2是串口外接模塊(2)根據握手包檢測波特率的電平波形示意圖,圖4-3是串口外接模塊(2)檢測波特率軟件流程圖;如圖4-1所示,電腦(1)與串口外接模塊(2)軟件主流程詳述如下串口外接模塊(2)初始化I/O口,偵聽電腦串口是否發送數據,即循環檢測單片機輸入管腳是否為低電平(RS232發送數據的起始位是低電平);電腦串口通信軟件(12)按電腦缺省的波特率依次初始化串口COM1(13)、COM2(14)、COM3(15)、COM4(16),啟動接收線程,向每個串口發送握手包;串口外接模塊(2)在單片機輸入管腳檢測到電腦串口發送數據到達時,根據握手包的波形計算并匹配波特率;并按照此波特率向電腦(1)回復握手響應包;電腦串口通信軟件(12)接收到某個串口返回的握手響應包后,則判斷此串口上連接有串口外接模塊(2),記錄此串口的端口號,使用此串口進行通信;其它串口在指定時間內沒有收到握手回復包,電腦串口通信軟件(12)判斷其它串口上沒有串口外接模塊,關閉其它端口。圖4-2所示為單片機輸入腳接收到的波形。電腦(1)向串口外接模塊(2)發送的握手包為一個字節,為0x00;數據格式為1位起始位、8位數據位、沒有奇偶校驗位、2位停止位、1位空閑位。在單片機輸入腳,握手包的1位起始位和8位數據位組成一個持續的低電平;串口接收模塊(2)在起始位開始的下降沿開始計時,到第8位數據位末尾的上升沿結束計時,低電平時間寬度T為9位時間寬度,每位時間寬度為T/9,計算波特率為9/T。在串口外接模塊(2)實際電路中,由于元器件參數的影響,下降沿和上升沿有一定的時間,波特率9/T不是精確的波特率,但比較接近實際波特率,串口接本文檔來自技高網...
【技術保護點】
一種電腦(1)與串口外接模塊(2)自動匹配通信的方法,包括有電腦(1)、串口外接模塊(2),其特征在于:電腦串口通信軟件(12)通過檢測串口接收消息包的方式自動識別串口外接模塊(2)連接電腦的(1)RS232串口的端口號。
【技術特征摘要】
【專利技術屬性】
技術研發人員:趙紅剛,
申請(專利權)人:趙紅剛,
類型:發明
國別省市:94[中國|深圳]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。