[發明專利]一種識別串口通信波特率的方法及可讀取存儲介質有效
| 申請號: | 202010224681.5 | 申請日: | 2020-03-26 |
| 公開(公告)號: | CN111427818B | 公開(公告)日: | 2023-04-14 |
| 發明(設計)人: | 謝兵;李毅 | 申請(專利權)人: | 重慶智慧水務有限公司 |
| 主分類號: | G06F13/28 | 分類號: | G06F13/28 |
| 代理公司: | 重慶華科專利事務所 50123 | 代理人: | 譚小琴 |
| 地址: | 400052 *** | 國省代碼: | 重慶;50 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 識別 串口 通信 波特率 方法 讀取 存儲 介質 | ||
1.一種識別串口通信波特率的方法,包括獲取串口信號的過程與發送串口信號的過程,其特征在于,包括如下步驟:
通過捕獲定時器獲取串口信號同步碼中相鄰的兩次上升沿與下降沿信號間的定時計數值;
將獲取到的所述定時計數值通過波特率計算公式,得到動態波特率參數;
將計算出的所述動態波特率參數去設置從設備的串口寄存器,使所述從設備中串口信號的通信波特率與主設備中串口信號的通信波特率保持一致;
其中,所述波特率計算公式計算方法如下:
要求的
要求的
其中,周期T與PCLK根據設備中識別采用的的中央處理器數值恒定、波特率因子BRGR=256×U0DLM+U0DLL、K為兩次上升沿信號的定時計數的差值;
將(2)式疊代入1式后計算得出:
分別計算出U0DLM與U0DLL兩個動態波特率參數。
2.根據權利要求1所述的識別串口通信波特率的方法,其特征在于,所述捕獲定時器獲取到串口信號同步碼中相鄰的兩次上升沿與下降沿信號間的定時計數值,具體包括如下步驟:
將串口信號接入單片機捕獲引腳,產生兩次上升沿信號與下降沿信號;
將所述捕獲定時器初始化,用于捕獲第一次下降沿信號,并判斷是否捕獲到第一次下降沿信號,若未捕獲到所述第一次下降沿信號,則繼續捕獲所述第一次下降沿信號,直至所述第一次下降沿信號被捕獲,再設置所述捕獲定時器,用于捕獲第一次上升沿信號。
3.根據權利要求2所述的識別串口通信波特率的方法,其特征在于,若所述捕獲定時器未捕獲到所述第一次上升沿信號,則判斷所述捕獲定時器捕獲是否接收超時;若所述捕獲定時器捕獲未接收超時,則繼續捕獲所述第一次上升沿信號,直至所述第一次上升沿信號被捕獲;若所述捕獲定時器捕獲接收超時,所述捕獲定時器則重新初始化;
若所述捕獲定時器捕獲到所述第一次上升沿信號,通過CPU可讀取定時器讀取低電平的定時計數值,并通過單片機判斷所述第一次上升沿信號是否為干擾信號。
4.根據權利要求2或3所述的識別串口通信波特率的方法,其特征在于,若判斷出所述第一次上升沿信號是干擾信號,則結束信號的捕獲過程;若判斷出所述第一次上升沿信號不是干擾信號,則完成第一次上升沿信號的捕獲,通過CPU可讀取定時器讀取并記錄所述定時計數值CAP_01在timer計數器中,上傳所述定時計數值后timer計數器清零,并通過捕獲定時器進行第二次下降沿信號捕獲。
5.根據權利要求4所述的識別串口通信波特率的方法,其特征在于,若所述捕獲定時器未捕獲到所述第二次下降沿信號,則判斷所述捕獲定時器捕獲是否接收超時;若所述捕獲定時器捕獲未接收超時,則繼續捕獲所述第二次下降沿信號,直至所述第二次下降沿信號被捕獲;若所述捕獲定時器捕獲接收超時,所述捕獲定時器則重新初始化;
若所述捕獲定時器捕獲到所述第二次下降沿信號,通過所述CPU可讀取定時器讀取高電平的定時計數值,并通過所述單片機判斷所述第二次下降沿信號是否為干擾信號;
若判斷出所述第二次下降沿信號是干擾信號,則結束信號的捕獲過程;若判斷出所述第二次下降沿信號不是干擾信號,則完成第二次下降沿信號的捕獲,然后timer計數器清零,并通過捕獲定時器進行第二次上升沿信號捕獲。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于重慶智慧水務有限公司,未經重慶智慧水務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010224681.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種PLC程序監控系統及方法
- 下一篇:一種大數據的數據存儲系統及方法





