家庭能源网关开发历程③:UART数据收发实测!打通JSY-MK-163T模块数据通道
上一期我们完成了JSY-MK-163串口通讯配置流程。由于上期没有打印结果,本期我们就来实现项目主控MCU华大HC32F005的UART中断发送和接收数据的结果打印。首先,我们先看看用到UART的那些功能函数。
一、核心函数:UART收发功能实现
要实现与JSY-MK-163T的数据互通,首先需要编写对应的收发功能函数,支持字节、字符串、数组发送(适配Modbus协议指令格式),以及数据接收存储,具体如下:
UART功能函数
UART发送
1.以查询的方式发送数据
2. 以中断的方式发送数据
注:本期我们讲的是中断发送,所以等下我们调用的是该方式发送数据。
UART接收
1. uart接收数据功能函数
UART中断发送接收流程
uart发送单个
uart发送一串
uart发送数组
uart接收数据
首先,我们先定义一个结构,用于发送和接收多个数据准备。
接着写发送数据函数
获取发送的数据
设置要发送的数据长度
设置复制函数
设置接收缓冲区
设置接收函数
最后就是主函数的调用
打印结果
1.结果乱码
根据上面的流程,我们明明可以实现了串口中断的发送和接收数据,但是会发现接收到的数据是乱的,这是怎么回事?
二、避坑指南:解决数据乱码,确保与模块通讯正常
很多小伙伴按照上述代码配置后,会发现接收的JSY-MK-163T模块数据是乱码,这不是代码写错了,也不是模块的问题,而是系统时钟配置缺失!HC32F005的UART波特率依赖系统时钟,时钟频率不对,波特率就会偏差,导致与JSY-MK-163T模块的4800bps波特率不匹配,进而出现乱码。
解决方案:时钟配置
设置频率
时钟初始化
最后,我们在主函数调用就可以解决乱码的问题,如下图是配置时钟之后的打印结果:
三、总结
配置时钟后,通过串口助手模拟JSY-MK-163T模块发送数据,或直接与真实的JSY-MK-163T模块对接,网关能正常接收并转发数据,数据无乱码、无丢失,证明UART中断收发功能完全实现,与JSY-MK-163T模块的通讯通道彻底打通!
到这里,数据传输的基础就打牢了~ 下一期我们将进入项目核心环节:利用Modbus协议读取JSY-MK-163T模块的电能数据(电压、电流、功率等),并进行解析,真正实现家庭用电的精准监测!关注不迷路,手把手带你搞定智能网关开发~
更多推荐产品 Recommended products
-

JSY-MK-135C 充电桩直流电能计量模块充电桩计量模块 -

JSY-MK-164 控制型智能PDU表头单相控制型PDU表头 -

JSY1003A 微型单相电流检测模块微型单相电流检测模块 -

JSY-MK-218 直流多路电力测量模块直流8路测量模块 -

JSY1095 单相PDU电流表头单相PDU电流表头 -

JSY-RDG-86RF 智能无线通讯测量插座WIFI智能插座 -

JSY-MK-双速 智慧消防风机模块双速/星三角电动机控制保护器 -

JSY-MK-163 单相互感式电能计量模块单相互感式计量模块 -

JSY-MK-181 计量型智能PDU表头单相计量型智能PDU表头 -

JSY-MK-192 三相互感式多路EMC能耗监测计量模块4路三相互感式计量模块 -

JSY-MK-323 三相电能计量模块三相电能计量模块 -

JSY-MK-180 智能型温湿度控制器RS485智能型温湿度控制器 -

JSY-MK-188 计量型智能PDU表头单相计量型智能PDU表头 -

JSY-MK-135D 微型嵌入式直流计量模块微型嵌入式直流计量模块 -

JSY-MK-149L 剩余电流检测仪剩余电流监测仪 -

JSY-MK-141 单相多路互感式计量模块单相6路互感式计量模块 -

JSY-MK-109 电流采集模块单相互感式计量模块 -

JSY1005 智能RS485PDU电流表头智能RS485PDU电流表头 -

JSY-MK-183 交流充电桩多路测量和零线电流采集模块交流8路带温度测量和零线电流采集模块 -

JSY-MK-138A 多路高精度电能测量模块多路高精度电能测量模块 -

JSY-MK-211D 单回路直流电能计量模块单回路直流电能计量模块 -

JSY-MK-310M 智慧消防电动机控制保护器单速电动机控制保护器 -

JSY-MK-360 三相PDU电流表头三相PDU电流表头 -

JSY1003F 微型单相电流检测模块微型单相电流检测模块 -

电池老化直流测量方案电池老化直流测量方案 -

高精度宽量程电能计量方案高精度宽量程电测量模块方案 -

JSY-MK-147 计量型智能PDU表头单相计量型智能PDU表头 -

JSY-MK-339 三相电压电流采集器三相电压电流采集器 -

JSY-MK-155 12路监测型智能PDU12路监测型智能PDU -

JSY-MK-138 12路互感式电能计量模块12路互感式电能计量模块 -

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

JSY1015 交流10路电动车充电桩电能计量模块交流10路电动车充电桩电能计量模块 -

JSY-MK-227 直流充电桩一体式计量模块直流充电桩计量模块 -

JSY-MK-211A 单回路电流采集模块单回路电流采集模块 -

JSY-MK-315 三相无线电能计量模块三相无线电能计量模块 -

JSY-MK-179 多路互感式电量计量模块20路互感式电量计量模块 -

JSY1017 嵌入式电流测量模块嵌入式电流测量模块 -

JSY-MK-114 阀控电能计量模块阀控电能计量模块 -

JSY-MK-194 互感式高精度宽量程电能计量模块互感式高精度宽量程计量模块 -

JSY-MK-178 计量型智能PDU表头单相计量型智能PDU表头 -

JSY-MK-333 三相嵌入式计量模块三相嵌入式计量模块 -

JSY1013 嵌入式电参数传感器嵌入式电参数传感器 -

JSY-MK-172 交流2路充电桩电能计量模块交流2路电能计量模块 -

JSY-MK-169 交流8路充电桩电能计量模块交流8路电能计量模块 -

JSY-MK-309 三相互感式电参数采集模块三相互感式电参数测试仪 -

JSY-MK-301/302 三相互感式电能质量监测仪三相互感式电能质量监测仪 -

JSY-MK-151 微型嵌入式电能计量模块微型嵌入式计量模块 -

交直流两用测试仪方案交直流两用测试仪方案 -

JSY-MK-211C 充电桩直流电量计量模块充电桩直流电量计量模块 -

JSY-MK-149 单相导轨式RS485电能测量仪单相导轨式RS485电能测量仪
-
雄厚的企业综合实力10年行业经验,多次通过国家高新企业认定
国家认定双软企业 商务部3A企业EMC/EMI型式试验设备齐全。产品通过CE SAA C-TICK ROHS等国际认证。300多种成熟电测、电控产品供您择。 -
研发实力强劲 技术保障公司从服务器软件、集中采集器、嵌入式开发为一体,多年国家高新企业认定企业,为你提供一站式定制服务6项发明专利及多项实用新型专利数十名研发人员,可根据您要求定制电能产品。 -
成熟非标产品定制 差异化产品实现工业级设计标准,连续无故障工作时间大于50000小时;最快10天交样,25天批量;每天交货量大于2000pcs;所有产品均经过自动化校准和自动化测试;根据客户要求进行带载/不带载老化试验。 -
完善的服务体系 用户无忧免费技术咨询,商务、技术人员可上门沟通产品要求协助客户用最优的实现方法进行方案设计。7*24小时全程跟踪式客户服务;客户需求24小时内进行反馈,所有品质问题包退、保修、包换。

手机网站
微信公众号
技术支持