[發(fā)明專利]一種串口通信中的雙指針環(huán)形緩沖區(qū)設計方法及系統(tǒng)在審
| 申請?zhí)枺?/td> | 202010564758.3 | 申請日: | 2020-06-19 |
| 公開(公告)號: | CN111865824A | 公開(公告)日: | 2020-10-30 |
| 發(fā)明(設計)人: | 王玉軍;姚杰;練俊君 | 申請(專利權)人: | 重慶川儀自動化股份有限公司 |
| 主分類號: | H04L12/861 | 分類號: | H04L12/861;H04L12/879;G06F9/50 |
| 代理公司: | 上海光華專利事務所(普通合伙) 31219 | 代理人: | 代玲 |
| 地址: | 400700*** | 國省代碼: | 重慶;50 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 串口 通信 中的 指針 環(huán)形 緩沖區(qū) 設計 方法 系統(tǒng) | ||
1.一種串口通信中的雙指針環(huán)形緩沖區(qū)設計方法,其特征在于,包括:
實時獲取數(shù)據(jù)狀態(tài),所述數(shù)據(jù)狀態(tài)包括數(shù)據(jù)讀取和數(shù)據(jù)寫入;
設置緩沖區(qū)剩余長度變量,并建立所述緩沖區(qū)剩余長度變量分別與讀寫數(shù)據(jù)之間的映射關系;
根據(jù)讀寫數(shù)據(jù)的狀態(tài)獲取緩沖區(qū)剩余長度變量的變化,并根據(jù)所述變化判斷靜態(tài)緩沖區(qū)的狀態(tài),所述靜態(tài)緩沖區(qū)的狀態(tài)包括空、未滿和已滿;
當靜態(tài)緩沖區(qū)已滿時,建立動態(tài)緩沖區(qū),將新增寫入的數(shù)據(jù)寫入動態(tài)緩沖區(qū),并繼續(xù)判斷靜態(tài)緩沖區(qū)的狀態(tài);
當靜態(tài)緩沖區(qū)的狀態(tài)由已滿變?yōu)槲礉M時,將動態(tài)緩沖區(qū)的數(shù)據(jù)寫入所述靜態(tài)緩沖區(qū)。
2.根據(jù)權利要求1所述的串口通信中的雙指針環(huán)形緩沖區(qū)設計方法,其特征在于,
當數(shù)據(jù)狀態(tài)為寫入數(shù)據(jù)時,將緩沖區(qū)剩余長度變量減1;
當數(shù)據(jù)狀態(tài)為讀取數(shù)據(jù)時,將緩沖區(qū)剩余長度變量加1;
當緩沖區(qū)剩余長度變量為0時,判斷靜態(tài)緩沖區(qū)已滿;
當緩沖區(qū)剩余長度變量與靜態(tài)緩沖區(qū)的長度相等時,判斷靜態(tài)緩沖區(qū)為空。
3.根據(jù)權利要求2所述的串口通信中的雙指針環(huán)形緩沖區(qū)設計方法,其特征在于,所述動態(tài)緩沖區(qū)包括動態(tài)內存。
4.根據(jù)權利要求3所述的串口通信中的雙指針環(huán)形緩沖區(qū)設計方法,其特征在于,當靜態(tài)緩沖區(qū)的狀態(tài)由已滿變?yōu)槲礉M時,將動態(tài)緩沖區(qū)的數(shù)據(jù)寫入所述靜態(tài)緩沖區(qū),待動態(tài)緩沖區(qū)內的全部數(shù)據(jù)寫完后,釋放動態(tài)緩沖區(qū)的內存。
5.根據(jù)權利要求1-4任一所述的串口通信中的雙指針環(huán)形緩沖區(qū)設計方法,其特征在于,所述靜態(tài)緩沖區(qū)為環(huán)形緩沖區(qū)。
6.根據(jù)權利要求5所述的串口通信中的雙指針環(huán)形緩沖區(qū)設計方法,其特征在于,設置隊頭指針和隊尾指針,所述隊頭指針指向可讀數(shù)據(jù),所述隊尾指針指向可寫數(shù)據(jù),通過移動隊頭指針和隊尾指針實現(xiàn)環(huán)形緩沖區(qū)數(shù)據(jù)的寫入和讀取。
7.根據(jù)權利要求6所述的串口通信中的雙指針環(huán)形緩沖區(qū)設計方法,其特征在于,將隊頭指針和隊尾指針初始化為0,指向環(huán)形緩沖區(qū)數(shù)組的起始位,當寫入數(shù)據(jù)時隊頭指針加1,當讀取數(shù)據(jù)時隊尾指針加1。
8.一種串口通信中的雙指針環(huán)形緩沖區(qū)系統(tǒng),其特征在于,包括:
數(shù)據(jù)存儲模塊,用于進行數(shù)據(jù)存儲并實時獲取數(shù)據(jù)狀態(tài),所述數(shù)據(jù)狀態(tài)包括數(shù)據(jù)讀取和數(shù)據(jù)寫入;
緩沖區(qū)模塊,用于設置緩沖區(qū)剩余長度變量,并建立所述緩沖區(qū)剩余長度變量分別與讀寫數(shù)據(jù)之間的映射關系;根據(jù)讀寫數(shù)據(jù)的狀態(tài)獲取緩沖區(qū)剩余長度變量的變化,并根據(jù)所述變化判斷靜態(tài)緩沖區(qū)的狀態(tài),所述靜態(tài)緩沖區(qū)的狀態(tài)包括空、未滿和已滿;
當靜態(tài)緩沖區(qū)已滿時,建立動態(tài)緩沖區(qū),將新增寫入的數(shù)據(jù)寫入動態(tài)緩沖區(qū),并繼續(xù)判斷靜態(tài)緩沖區(qū)的狀態(tài);
當靜態(tài)緩沖區(qū)的狀態(tài)由已滿變?yōu)槲礉M時,將動態(tài)緩沖區(qū)的數(shù)據(jù)寫入所述靜態(tài)緩沖區(qū)。
9.根據(jù)權利要求8所述的串口通信中的雙指針環(huán)形緩沖區(qū)系統(tǒng),其特征在于,
當數(shù)據(jù)狀態(tài)為寫入數(shù)據(jù)時,緩沖區(qū)模塊將緩沖區(qū)剩余長度變量減1;
當數(shù)據(jù)狀態(tài)為讀取數(shù)據(jù)時,緩沖區(qū)模塊將緩沖區(qū)剩余長度變量加1;
當緩沖區(qū)剩余長度變量為0時,緩沖區(qū)模塊判斷靜態(tài)緩沖區(qū)已滿;
當緩沖區(qū)剩余長度變量與靜態(tài)緩沖區(qū)的長度相等時,緩沖區(qū)模塊判斷靜態(tài)緩沖區(qū)為空。
10.根據(jù)權利要求8所述的串口通信中的雙指針環(huán)形緩沖區(qū)設計方法,其特征在于,所述動態(tài)緩沖區(qū)包括動態(tài)內存,所述靜態(tài)緩沖區(qū)為環(huán)形緩沖區(qū)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于重慶川儀自動化股份有限公司,未經重慶川儀自動化股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010564758.3/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:夾持裝置及夾燈
- 下一篇:一種消息顯示方法、裝置及電子設備





