[發(fā)明專利]一種降低單片機(jī)通信占用內(nèi)存的方法在審
| 申請(qǐng)?zhí)枺?/td> | 202011437371.8 | 申請(qǐng)日: | 2020-12-11 |
| 公開(公告)號(hào): | CN112882976A | 公開(公告)日: | 2021-06-01 |
| 發(fā)明(設(shè)計(jì))人: | 韓京海;涂金龍 | 申請(qǐng)(專利權(quán))人: | 南京交通職業(yè)技術(shù)學(xué)院 |
| 主分類號(hào): | G06F13/42 | 分類號(hào): | G06F13/42 |
| 代理公司: | 南京蘇高專利商標(biāo)事務(wù)所(普通合伙) 32204 | 代理人: | 顏盈靜 |
| 地址: | 211188 江蘇省*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 降低 單片機(jī) 通信 占用 內(nèi)存 方法 | ||
1.一種降低單片機(jī)通信占用內(nèi)存的方法,其特征在于:包括:
在接收數(shù)據(jù)時(shí),將接收到的ASCII碼數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制數(shù)據(jù),依次接收轉(zhuǎn)換后的二進(jìn)制數(shù)據(jù)的高4位、低4位,進(jìn)行實(shí)時(shí)合并;
在發(fā)送數(shù)據(jù)時(shí),依次從發(fā)送緩沖區(qū)取出1個(gè)字節(jié)數(shù)據(jù)作為待發(fā)送的數(shù)據(jù),對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行實(shí)時(shí)高4位與低4位拆分,先將待發(fā)送數(shù)據(jù)的高4位轉(zhuǎn)換為ASCII碼數(shù)據(jù)進(jìn)行發(fā)送,再將待發(fā)送數(shù)據(jù)的低4位轉(zhuǎn)換為ASCII碼數(shù)據(jù)進(jìn)行發(fā)送。
2.根據(jù)權(quán)利要求1所述的一種降低單片機(jī)通信占用內(nèi)存的方法,其特征在于:所述的“在接收數(shù)據(jù)時(shí),將接收到的ASCII碼數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制數(shù)據(jù),依次接收轉(zhuǎn)換后的二進(jìn)制數(shù)據(jù)的高4位、低4位,進(jìn)行實(shí)時(shí)合并”,具體包括以下步驟:
步驟1:定義一個(gè)字節(jié)變量i;
步驟2:將接收到的字節(jié)數(shù)據(jù)讀到字節(jié)變量i中;
步驟3:判斷當(dāng)前幀尾標(biāo)志是否為1,若幀尾標(biāo)志為1,則說明一幀數(shù)據(jù)接收結(jié)束,根據(jù)上位機(jī)命令,將準(zhǔn)備應(yīng)答的數(shù)據(jù)存入發(fā)送緩沖區(qū),進(jìn)行串口發(fā)送,子程序返回;若幀尾標(biāo)志為0,則判斷幀頭標(biāo)志是否為1,若幀頭標(biāo)志為1,則執(zhí)行步驟4,若幀頭標(biāo)志為0,則執(zhí)行步驟5;
步驟4:判斷接收到的字節(jié)數(shù)據(jù)是否為幀尾,若為幀尾,則對(duì)幀數(shù)據(jù)進(jìn)行校驗(yàn),若校驗(yàn)失敗,則丟棄本幀數(shù)據(jù),清幀頭標(biāo)志和清幀尾標(biāo)志,子程序返回;若校驗(yàn)成功,則清幀頭標(biāo)志和置幀尾標(biāo)志,取出命令字節(jié)數(shù)據(jù),由主程序讀取執(zhí)行,子程序返回;若接收到的字節(jié)數(shù)據(jù)不是幀尾,則執(zhí)行步驟6;
步驟5:判斷接收到的字節(jié)數(shù)據(jù)是否為幀頭,若是,則置幀頭標(biāo)志=1,接收緩沖區(qū)指針復(fù)位,指向接收區(qū)起始位置,清接收字節(jié)數(shù),低4位標(biāo)志置0,子程序返回;否則,清幀頭標(biāo)志和清幀尾標(biāo)志,子程序返回;
步驟6:將字節(jié)變量i中的字節(jié)數(shù)據(jù)ASCII碼轉(zhuǎn)換成二進(jìn)制數(shù)據(jù),判斷低4位標(biāo)志是否為0,若為0,則表明當(dāng)前接收的數(shù)據(jù)是高4位,保存接收到的數(shù)據(jù)高位到緩沖區(qū),置低4位標(biāo)志=1,子程序返回;否則表明當(dāng)前接收的數(shù)據(jù)是低4位,接收數(shù)據(jù)長度+1,執(zhí)行步驟7;
步驟7:判斷接收數(shù)據(jù)長度是否超過允許的接收長度,若超過,則表明接收的是無效幀數(shù)據(jù),將幀頭標(biāo)志置為0,接收緩沖區(qū)指針復(fù)位,清接收字節(jié)數(shù),低4位標(biāo)志置0,子程序返回;否則,低4位與緩沖區(qū)中的數(shù)據(jù)拼裝,將拼裝后的數(shù)據(jù)存放在接收幀數(shù)據(jù)緩沖區(qū),清低4位標(biāo)志,子程序返回。
3.根據(jù)權(quán)利要求1所述的一種降低單片機(jī)通信占用內(nèi)存的方法,其特征在于:所述的“對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行實(shí)時(shí)高4位與低4位拆分,將待發(fā)送數(shù)據(jù)的高4位轉(zhuǎn)換為ASCII碼數(shù)據(jù)進(jìn)行發(fā)送,將待發(fā)送數(shù)據(jù)的低4位轉(zhuǎn)換為ASCII碼數(shù)據(jù)進(jìn)行發(fā)送”,具體包括以下步驟:
S201:讀入n個(gè)待發(fā)送數(shù)據(jù)至發(fā)送緩沖區(qū);
S202:定義一個(gè)變量d和求和變量pf,并設(shè)置求和變量pf的初值為0;
S203:從發(fā)送緩沖區(qū)中取出1個(gè)數(shù)據(jù),存入變量d;
S204:變量d與求和變量pf相加,存入求和變量pf,作為校驗(yàn)和;
S205:將變量d進(jìn)行數(shù)據(jù)拆分并發(fā)送;
S206:判斷n個(gè)待發(fā)送數(shù)據(jù)是否發(fā)送完成,若未完成,則繼續(xù)進(jìn)入S203;若完成,則進(jìn)入S207;
S207:對(duì)求和變量pf進(jìn)行數(shù)據(jù)拆分發(fā)送。
4.根據(jù)權(quán)利要求3所述的一種降低單片機(jī)通信占用內(nèi)存的方法,其特征在于:所述的數(shù)據(jù)拆分并發(fā)送,具體包括以下步驟:
S2051:定義一個(gè)變量ch;
S2052:將待發(fā)送數(shù)據(jù)右移4位,取高4位,放入變量ch中;
S2053:將高4位數(shù)據(jù)按16進(jìn)制字符轉(zhuǎn)換為ASCII碼;
S2054:發(fā)送所轉(zhuǎn)換的ASCII碼;
S2055:將待發(fā)送數(shù)據(jù)取低4位,放入變量ch中替換原數(shù)據(jù);
S2056:將低4位數(shù)據(jù)按16進(jìn)制字符轉(zhuǎn)換為ASCII碼;
S2057:發(fā)送所轉(zhuǎn)換的ASCII碼。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京交通職業(yè)技術(shù)學(xué)院,未經(jīng)南京交通職業(yè)技術(shù)學(xué)院許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011437371.8/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 通信裝置、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信方法、通信電路、通信系統(tǒng)
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信終端、通信系統(tǒng)、通信方法以及通信程序
- 通信終端、通信方法、通信裝備和通信系統(tǒng)
- 通信裝置、通信程序、通信方法以及通信系統(tǒng)
- 通信裝置、通信系統(tǒng)、通信方法及計(jì)算機(jī)可讀取的記錄介質(zhì)





