家庭能源網(wǎng)關(guān)開發(fā)歷程③:UART數(shù)據(jù)收發(fā)實(shí)測(cè)!打通JSY-MK-163T模塊數(shù)據(jù)通道
上一期我們完成了JSY-MK-163串口通訊配置流程。由于上期沒(méi)有打印結(jié)果,本期我們就來(lái)實(shí)現(xiàn)項(xiàng)目主控MCU華大HC32F005的UART中斷發(fā)送和接收數(shù)據(jù)的結(jié)果打印。首先,我們先看看用到UART的那些功能函數(shù)。
一、核心函數(shù):UART收發(fā)功能實(shí)現(xiàn)
要實(shí)現(xiàn)與JSY-MK-163T的數(shù)據(jù)互通,首先需要編寫對(duì)應(yīng)的收發(fā)功能函數(shù),支持字節(jié)、字符串、數(shù)組發(fā)送(適配Modbus協(xié)議指令格式),以及數(shù)據(jù)接收存儲(chǔ),具體如下:
UART功能函數(shù)
UART發(fā)送
1.以查詢的方式發(fā)送數(shù)據(jù)
2. 以中斷的方式發(fā)送數(shù)據(jù)
注:本期我們講的是中斷發(fā)送,所以等下我們調(diào)用的是該方式發(fā)送數(shù)據(jù)。
UART接收
1. uart接收數(shù)據(jù)功能函數(shù)
UART中斷發(fā)送接收流程
uart發(fā)送單個(gè)
uart發(fā)送一串
uart發(fā)送數(shù)組
uart接收數(shù)據(jù)
首先,我們先定義一個(gè)結(jié)構(gòu),用于發(fā)送和接收多個(gè)數(shù)據(jù)準(zhǔn)備。
接著寫發(fā)送數(shù)據(jù)函數(shù)
獲取發(fā)送的數(shù)據(jù)
設(shè)置要發(fā)送的數(shù)據(jù)長(zhǎng)度
設(shè)置復(fù)制函數(shù)
設(shè)置接收緩沖區(qū)
設(shè)置接收函數(shù)
最后就是主函數(shù)的調(diào)用
打印結(jié)果
1.結(jié)果亂碼
根據(jù)上面的流程,我們明明可以實(shí)現(xiàn)了串口中斷的發(fā)送和接收數(shù)據(jù),但是會(huì)發(fā)現(xiàn)接收到的數(shù)據(jù)是亂的,這是怎么回事?
二、避坑指南:解決數(shù)據(jù)亂碼,確保與模塊通訊正常
很多小伙伴按照上述代碼配置后,會(huì)發(fā)現(xiàn)接收的JSY-MK-163T模塊數(shù)據(jù)是亂碼,這不是代碼寫錯(cuò)了,也不是模塊的問(wèn)題,而是系統(tǒng)時(shí)鐘配置缺失!HC32F005的UART波特率依賴系統(tǒng)時(shí)鐘,時(shí)鐘頻率不對(duì),波特率就會(huì)偏差,導(dǎo)致與JSY-MK-163T模塊的4800bps波特率不匹配,進(jìn)而出現(xiàn)亂碼。
解決方案:時(shí)鐘配置
設(shè)置頻率
時(shí)鐘初始化
最后,我們?cè)谥骱瘮?shù)調(diào)用就可以解決亂碼的問(wèn)題,如下圖是配置時(shí)鐘之后的打印結(jié)果:
三、總結(jié)
配置時(shí)鐘后,通過(guò)串口助手模擬JSY-MK-163T模塊發(fā)送數(shù)據(jù),或直接與真實(shí)的JSY-MK-163T模塊對(duì)接,網(wǎng)關(guān)能正常接收并轉(zhuǎn)發(fā)數(shù)據(jù),數(shù)據(jù)無(wú)亂碼、無(wú)丟失,證明UART中斷收發(fā)功能完全實(shí)現(xiàn),與JSY-MK-163T模塊的通訊通道徹底打通!
到這里,數(shù)據(jù)傳輸?shù)幕A(chǔ)就打牢了~ 下一期我們將進(jìn)入項(xiàng)目核心環(huán)節(jié):利用Modbus協(xié)議讀取JSY-MK-163T模塊的電能數(shù)據(jù)(電壓、電流、功率等),并進(jìn)行解析,真正實(shí)現(xiàn)家庭用電的精準(zhǔn)監(jiān)測(cè)!關(guān)注不迷路,手把手帶你搞定智能網(wǎng)關(guān)開發(fā)~
更多推薦產(chǎn)品 Recommended products
-

JSY-MK-135C 充電樁直流電能計(jì)量模塊充電樁計(jì)量模塊 -

JSY-MK-164 控制型智能PDU表頭單相控制型PDU表頭 -

JSY1003A 微型單相電流檢測(cè)模塊微型單相電流檢測(cè)模塊 -

JSY-MK-218 直流多路電力測(cè)量模塊直流8路測(cè)量模塊 -

JSY1095 單相PDU電流表頭單相PDU電流表頭 -

JSY-RDG-86RF 智能無(wú)線通訊測(cè)量插座WIFI智能插座 -

JSY-MK-雙速 智慧消防風(fēng)機(jī)模塊雙速/星三角電動(dòng)機(jī)控制保護(hù)器 -

JSY-MK-163 單相互感式電能計(jì)量模塊單相互感式計(jì)量模塊 -

JSY-MK-181 計(jì)量型智能PDU表頭單相計(jì)量型智能PDU表頭 -

JSY-MK-192 三相互感式多路EMC能耗監(jiān)測(cè)計(jì)量模塊4路三相互感式計(jì)量模塊 -

JSY-MK-323 三相電能計(jì)量模塊三相電能計(jì)量模塊 -

JSY-MK-180 智能型溫濕度控制器RS485智能型溫濕度控制器 -

JSY-MK-188 計(jì)量型智能PDU表頭單相計(jì)量型智能PDU表頭 -

JSY-MK-135D 微型嵌入式直流計(jì)量模塊微型嵌入式直流計(jì)量模塊 -

JSY-MK-149L 剩余電流檢測(cè)儀剩余電流監(jiān)測(cè)儀 -

JSY-MK-141 單相多路互感式計(jì)量模塊單相6路互感式計(jì)量模塊 -

JSY-MK-109 電流采集模塊單相互感式計(jì)量模塊 -

JSY1005 智能RS485PDU電流表頭智能RS485PDU電流表頭 -

JSY-MK-183 交流充電樁多路測(cè)量和零線電流采集模塊交流8路帶溫度測(cè)量和零線電流采集模塊 -

JSY-MK-138A 多路高精度電能測(cè)量模塊多路高精度電能測(cè)量模塊 -

JSY-MK-211D 單回路直流電能計(jì)量模塊單回路直流電能計(jì)量模塊 -

JSY-MK-310M 智慧消防電動(dòng)機(jī)控制保護(hù)器單速電動(dòng)機(jī)控制保護(hù)器 -

JSY-MK-360 三相PDU電流表頭三相PDU電流表頭 -

JSY1003F 微型單相電流檢測(cè)模塊微型單相電流檢測(cè)模塊 -

電池老化直流測(cè)量方案電池老化直流測(cè)量方案 -

高精度寬量程電能計(jì)量方案高精度寬量程電測(cè)量模塊方案 -

JSY-MK-147 計(jì)量型智能PDU表頭單相計(jì)量型智能PDU表頭 -

JSY-MK-339 三相電壓電流采集器三相電壓電流采集器 -

JSY-MK-155 12路監(jiān)測(cè)型智能PDU12路監(jiān)測(cè)型智能PDU -

JSY-MK-138 12路互感式電能計(jì)量模塊12路互感式電能計(jì)量模塊 -

JSY1030型智能控制器JSY1030型智能控制器 -

JSY1015 交流10路電動(dòng)車充電樁電能計(jì)量模塊交流10路電動(dòng)車充電樁電能計(jì)量模塊 -

JSY-MK-227 直流充電樁一體式計(jì)量模塊直流充電樁計(jì)量模塊 -

JSY-MK-211A 單回路電流采集模塊單回路電流采集模塊 -

JSY-MK-315 三相無(wú)線電能計(jì)量模塊三相無(wú)線電能計(jì)量模塊 -

JSY-MK-179 多路互感式電量計(jì)量模塊20路互感式電量計(jì)量模塊 -

JSY1017 嵌入式電流測(cè)量模塊嵌入式電流測(cè)量模塊 -

JSY-MK-114 閥控電能計(jì)量模塊閥控電能計(jì)量模塊 -

JSY-MK-194 互感式高精度寬量程電能計(jì)量模塊互感式高精度寬量程計(jì)量模塊 -

JSY-MK-178 計(jì)量型智能PDU表頭單相計(jì)量型智能PDU表頭 -

JSY-MK-333 三相嵌入式計(jì)量模塊三相嵌入式計(jì)量模塊 -

JSY1013 嵌入式電參數(shù)傳感器嵌入式電參數(shù)傳感器 -

JSY-MK-172 交流2路充電樁電能計(jì)量模塊交流2路電能計(jì)量模塊 -

JSY-MK-169 交流8路充電樁電能計(jì)量模塊交流8路電能計(jì)量模塊 -

JSY-MK-309 三相互感式電參數(shù)采集模塊三相互感式電參數(shù)測(cè)試儀 -

JSY-MK-301/302 三相互感式電能質(zhì)量監(jiān)測(cè)儀三相互感式電能質(zhì)量監(jiān)測(cè)儀 -

JSY-MK-151 微型嵌入式電能計(jì)量模塊微型嵌入式計(jì)量模塊 -

交直流兩用測(cè)試儀方案交直流兩用測(cè)試儀方案 -

JSY-MK-211C 充電樁直流電量計(jì)量模塊充電樁直流電量計(jì)量模塊 -

JSY-MK-149 單相導(dǎo)軌式RS485電能測(cè)量?jī)x單相導(dǎo)軌式RS485電能測(cè)量?jī)x
-
雄厚的企業(yè)綜合實(shí)力10年行業(yè)經(jīng)驗(yàn),多次通過(guò)國(guó)家高新企業(yè)認(rèn)定
國(guó)家認(rèn)定雙軟企業(yè) 商務(wù)部3A企業(yè)EMC/EMI型式試驗(yàn)設(shè)備齊全。產(chǎn)品通過(guò)CE SAA C-TICK ROHS等國(guó)際認(rèn)證。300多種成熟電測(cè)、電控產(chǎn)品供您擇。 -
研發(fā)實(shí)力強(qiáng)勁 技術(shù)保障公司從服務(wù)器軟件、集中采集器、嵌入式開發(fā)為一體,多年國(guó)家高新企業(yè)認(rèn)定企業(yè),為你提供一站式定制服務(wù)6項(xiàng)發(fā)明專利及多項(xiàng)實(shí)用新型專利數(shù)十名研發(fā)人員,可根據(jù)您要求定制電能產(chǎn)品。 -
成熟非標(biāo)產(chǎn)品定制 差異化產(chǎn)品實(shí)現(xiàn)工業(yè)級(jí)設(shè)計(jì)標(biāo)準(zhǔn),連續(xù)無(wú)故障工作時(shí)間大于50000小時(shí);最快10天交樣,25天批量;每天交貨量大于2000pcs;所有產(chǎn)品均經(jīng)過(guò)自動(dòng)化校準(zhǔn)和自動(dòng)化測(cè)試;根據(jù)客戶要求進(jìn)行帶載/不帶載老化試驗(yàn)。 -
完善的服務(wù)體系 用戶無(wú)憂免費(fèi)技術(shù)咨詢,商務(wù)、技術(shù)人員可上門溝通產(chǎn)品要求協(xié)助客戶用最優(yōu)的實(shí)現(xiàn)方法進(jìn)行方案設(shè)計(jì)。7*24小時(shí)全程跟蹤式客戶服務(wù);客戶需求24小時(shí)內(nèi)進(jìn)行反饋,所有品質(zhì)問(wèn)題包退、保修、包換。

手機(jī)網(wǎng)站
微信公眾號(hào)
技術(shù)支持