家庭能源網(wǎng)關(guān)開發(fā)歷程②:JSY-MK-163T串口通訊調(diào)試過程
上一期我們確定了家庭能源網(wǎng)關(guān)的核心目標(biāo)和器件選型,本期我們講的是如何實(shí)現(xiàn)項(xiàng)目主控MCU華大HC32F005的UART中斷配置以及發(fā)送和接收數(shù)據(jù),為我們后續(xù)項(xiàng)目讀取測量到的電流、電壓、功率做準(zhǔn)備。
大家有需要可以自行下載有關(guān)HC32F005demo,例程包含了所有外設(shè)的初始化以及配置。手冊在上一章下載,或者去官網(wǎng)下載,這里就不過多介紹HC32F005其他資源。重點(diǎn)介紹UART這部分。
一、先搞懂:UART是什么?為何是健思研模塊的最佳搭檔?
UART(通用異步收發(fā)傳輸器)是單片機(jī)與外設(shè)通訊的核心接口,HC32F005搭載2個(gè)通用UART模塊(UART0/1),而JSY-MK-163T模塊恰好配備1路TTL通訊接口,支持標(biāo)準(zhǔn)Modbus-RTU規(guī)約,能實(shí)現(xiàn)高效穩(wěn)定的數(shù)據(jù)傳輸。
UART結(jié)構(gòu)框圖
HC32F005的UART關(guān)鍵特性如下,完美匹配JSY-MK-1663T模塊需求:
支持8bit/9bit數(shù)據(jù)格式,4種工作模式(Mode0~Mode3),可適配JSY-MK-1663T模塊的多種數(shù)據(jù)格式設(shè)置;
支持多機(jī)通訊、自動(dòng)地址識別,幀錯(cuò)誤檢測功能,能精準(zhǔn)識別JSY-MK-1663T模塊的響應(yīng)數(shù)據(jù),避免傳輸錯(cuò)誤;
波特率可編程(1200、2400、4800、9600Bps),與健思研JSY-MK-163T的默認(rèn)波特率4800bps一致,無需額外調(diào)整即可適配。
這4種工作模式是配置核心,結(jié)合JSY-MK-163T模塊的使用場景,推薦優(yōu)先選擇Mode1,具體對比如下:
|
模式 |
類型 |
波特率來源 |
核心用途 |
與健思研模塊適配性 |
|
Mode0 |
同步半雙工 |
固定為PCLK/12 |
簡單同步數(shù)據(jù)傳輸 |
適配性一般 |
|
Mode1 |
異步全雙工 |
TIMER0(UART0) TIMER1(UART1) |
常規(guī)數(shù)據(jù)收發(fā) (推薦) |
完美適配,支持可編程波特率,匹配健思研模塊的多波特率選項(xiàng) |
|
Mode2 |
異步全雙工 |
固定為PCLK/64(支持雙倍波特率) |
多機(jī)通訊(需地址幀區(qū)分) |
適配性較好,但波特率靈活性不足 |
|
Mode3 |
異步全雙工 |
同Mode1(可編程) |
多機(jī)通訊+靈活波特率 |
適配性好,但配置相對復(fù)雜 |
劃重點(diǎn):模式選擇必須與所用UART對應(yīng),且波特率需與健思研JSY-MK-163T的配置一致(默認(rèn)4800bps),否則會出現(xiàn)“發(fā)不出、收不到”的情況。
二、核心配置:UART中斷配置4步走(適配健思研模塊)
我們以UART1為例,采用Mode1模式(最適配健思研模塊的常規(guī)數(shù)據(jù)收發(fā)場景),帶大家完成中斷配置,實(shí)現(xiàn)與JSY-MK-163T的數(shù)據(jù)互通:
UART中斷配置流程
1.串口引腳初始化
2.串口波特率設(shè)置
3.相關(guān)中斷配置
4.設(shè)置中斷函數(shù)
注意:到這里我們已經(jīng)完成串口中斷的配置流程,但是還不能實(shí)現(xiàn)串口的收發(fā)數(shù)據(jù)。還有個(gè)最重要的步驟要配置,那就是還要選擇中斷向量號,但是這個(gè)中斷向量號并不是對應(yīng)我們使用的哪個(gè)串口,具體選擇哪個(gè)中斷向量號,可參考如下圖:
|
中斷向量號 |
中斷來源 |
|
【0】 |
GPIO_PO |
|
【1】 |
GPIO_P1 |
|
【2】 |
GPIO_P2 |
|
【3】 |
GPIO_P3 |
|
【4】 |
- |
|
【5】 |
- |
|
【6】 |
UARTO |
|
【7】 |
UART1 |
|
【8】 |
- |
|
【9】 |
- |
|
【10】 |
SPI |
|
【11】 |
- |
|
【12】 |
I2C |
關(guān)鍵補(bǔ)充:中斷向量號配置
很多小伙伴會忽略這一步,導(dǎo)致中斷無法響應(yīng),進(jìn)而無法與健思研模塊通訊!HC32F005的UART1對應(yīng)中斷向量號為7,需添加如下代碼:
三、適配健思研模塊的注意事項(xiàng)
1.波特率、數(shù)據(jù)格式需與健思研JSY-MK-163T保持一致(默認(rèn):4800bps、“n,8,1”),否則會出現(xiàn)數(shù)據(jù)亂碼或無法通訊;
2.引腳對接要正確:MCU的TX接健思研模塊的RXD,MCU的RX接健思研模塊的TXD,電源正負(fù)極切勿接反(健思研模塊有防接反保護(hù),但會導(dǎo)致無法工作);
3.波特率計(jì)算時(shí),TIMER必須配置為16位自動(dòng)重載入模式,否則速率偏差會導(dǎo)致與健思研模塊通訊失??;
4.中斷標(biāo)志位需手動(dòng)清除,否則會導(dǎo)致后續(xù)無法正常接收健思研模塊的響應(yīng)數(shù)據(jù)。
到這里,UART中斷的核心配置就完成了!下一期我們將聚焦數(shù)據(jù)收發(fā)的實(shí)際測試,教大家編寫發(fā)送/接收函數(shù),解決常見的“亂碼”問題,同時(shí)驗(yàn)證與JSY-MK-163T模塊的通訊穩(wěn)定性,讓數(shù)據(jù)傳輸穩(wěn)定可靠~ 記得關(guān)注后續(xù)更新!
更多推薦產(chǎn)品 Recommended products
-

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

JSY1003A 微型單相電流檢測模塊微型單相電流檢測模塊 -

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

JSY1049 汽車交流充電樁模塊JSY1045汽車交流充電樁模塊 -

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

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

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

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

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

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

JSY1045 汽車交流充電樁模塊JSY1045汽車交流充電樁模塊 -

JSY-MK-609 數(shù)控溫濕度采集模塊RS485通訊數(shù)控溫濕度采集模塊 -

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

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

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

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

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

JSY-MK-149 單相導(dǎo)軌式RS485電能測量儀單相導(dǎo)軌式RS485電能測量儀 -

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

JSY-MK-147 計(jì)量型PDU計(jì)量型PDU -

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

電池老化直流測量方案電池老化直流測量方案 -

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

JSY-RDG-86RF 智能無線通訊測量插座WIFI智能插座 -

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

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

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

JSY-MK-218 直流多路電力測量模塊直流8路測量模塊 -

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

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

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

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

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

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

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

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

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

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

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

JSY1017 嵌入式電流測量模塊嵌入式電流測量模塊 -

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

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

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

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

JSY-MK-182 無線電能計(jì)量模塊無線電能計(jì)量模塊 -

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

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

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

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

JSY1095 單相PDU電流表頭單相PDU電流表頭
-
雄厚的企業(yè)綜合實(shí)力10年行業(yè)經(jīng)驗(yàn),多次通過國家高新企業(yè)認(rèn)定
國家認(rèn)定雙軟企業(yè) 商務(wù)部3A企業(yè)EMC/EMI型式試驗(yàn)設(shè)備齊全。產(chǎn)品通過CE SAA C-TICK ROHS等國際認(rèn)證。300多種成熟電測、電控產(chǎn)品供您擇。 -
研發(fā)實(shí)力強(qiáng)勁 技術(shù)保障公司從服務(wù)器軟件、集中采集器、嵌入式開發(fā)為一體,多年國家高新企業(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è)級設(shè)計(jì)標(biāo)準(zhǔn),連續(xù)無故障工作時(shí)間大于50000小時(shí);最快10天交樣,25天批量;每天交貨量大于2000pcs;所有產(chǎn)品均經(jīng)過自動(dòng)化校準(zhǔn)和自動(dòng)化測試;根據(jù)客戶要求進(jìn)行帶載/不帶載老化試驗(yàn)。 -
完善的服務(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ì)問題包退、保修、包換。

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