健思研

深圳市健思研科技有限公司Shenzhen Jiansiyan Technology Co., Ltd.
咨询电话400-001-9882

热门关键词:电测仪表价格充电桩价格汽车充电桩多少钱一个电能计量仪器仪表电能计量仪器仪表价格

当前位置首页 » 健思研新闻中心 » 新闻资讯 » 企业新闻 » 家庭能源网关开发历程②:JSY-MK-163T串口通讯调试过程

家庭能源网关开发历程②:JSY-MK-163T串口通讯调试过程

2026-01-28 14:08:32

上一期我们确定了家庭能源网关的核心目标和器件选型,本期我们讲的是如何实现项目主控MCU华大HC32F005的UART中断配置以及发送和接收数据,为我们后续项目读取测量到的电流、电压、功率做准备。

大家有需要可以自行下载有关HC32F005demo,例程包含了所有外设的初始化以及配置。手册在上一章下载,或者去官网下载,这里就不过多介绍HC32F005其他资源。重点介绍UART这部分。

一、先搞懂:UART是什么?为何是健思研模块的最佳搭档?

UART(通用异步收发传输器)是单片机与外设通讯的核心接口,HC32F005搭载2个通用UART模块(UART0/1),而JSY-MK-163T模块恰好配备1路TTL通讯接口,支持标准Modbus-RTU规约,能实现高效稳定的数据传输。 

图片1

UART结构框图

HC32F005的UART关键特性如下,完美匹配JSY-MK-1663T模块需求:

支持8bit/9bit数据格式,4种工作模式(Mode0~Mode3),可适配JSY-MK-1663T模块的多种数据格式设置;

支持多机通讯、自动地址识别,帧错误检测功能,能精准识别JSY-MK-1663T模块的响应数据,避免传输错误;

波特率可编程(1200、2400、4800、9600Bps),与健思研JSY-MK-163T的默认波特率4800bps一致,无需额外调整即可适配。

4种工作模式是配置核心,结合JSY-MK-163T模块的使用场景,推荐优先选择Mode1,具体对比如下:

模式

类型

波特率来源

核心用途

与健思研模块适配性

Mode0

同步半双工

固定为PCLK/12

简单同步数据传输

适配性一般

Mode1

异步全双工

TIMER0(UART0)

TIMER1(UART1)

常规数据收发

(推荐)

完美适配,支持可编程波特率,匹配健思研模块的多波特率选项

Mode2

异步全双工

固定为PCLK/64(支持双倍波特率)

多机通讯(需地址帧区分)

适配性较好,但波特率灵活性不足

Mode3

异步全双工

Mode1(可编程)

多机通讯+灵活波特率

适配性好,但配置相对复杂

划重点:模式选择必须与所用UART对应,且波特率需与健思研JSY-MK-163T的配置一致(默认4800bps),否则会出现“发不出、收不到”的情况

二、核心配置:UART中断配置4步走(适配健思研模块)

我们以UART1为例,采用Mode1模式(最适配健思研模块的常规数据收发场景),带大家完成中断配置,实现与JSY-MK-163T的数据互通:

UART中断配置流程

1.串口引脚初始化

微信图片_20260119111918_2071_29

 2.串口波特率设置

微信图片_20260119111920_2072_29

 3.相关中断配置

微信图片_20260119111923_2073_29

4.设置中断函数 

 

微信图片_20260119111932_2074_29


注意:到这里我们已经完成串口中断的配置流程,但是还不能实现串口的收发数据。还有个最重要的步骤要配置,那就是还要选择中断向量号,但是这个中断向量号并不是对应我们使用的哪个串口,具体选择哪个中断向量号,可参考如下图:

中断向量号

中断来源

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

 

关键补充:中断向量号配置

很多小伙伴会忽略这一步,导致中断无法响应,进而无法与健思研模块通讯!HC32F005的UART1对应中断向量号为7,需添加如下代码: 

微信图片_20260119112943_2078_29

三、适配健思研模块的注意事项

1.波特率、数据格式需与健思研JSY-MK-163T保持一致(默认:4800bps、“n,8,1”),否则会出现数据乱码或无法通讯;

2.引脚对接要正确:MCU的TX接健思研模块的RXD,MCU的RX接健思研模块的TXD,电源正负极切勿接反(健思研模块有防接反保护,但会导致无法工作);

3.波特率计算时,TIMER必须配置为16位自动重载入模式,否则速率偏差会导致与健思研模块通讯失败;

4.中断标志位需手动清除,否则会导致后续无法正常接收健思研模块的响应数据。

到这里,UART中断的核心配置就完成了!下一期我们将聚焦数据收发的实际测试,教大家编写发送/接收函数,解决常见的“乱码”问题,同时验证与JSY-MK-163T模块的通讯稳定性,让数据传输稳定可靠~ 记得关注后续更新!

更多推荐产品 Recommended products

四大企业优势为您的电能智控产品保驾护航
置 顶