找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1432|回复: 3
打印 上一主题 下一主题
收起左侧

STM32单片机+MODBUS如何写入压力传感器数据?

[复制链接]
跳转到指定楼层
楼主
ID:492586 发表于 2022-11-20 18:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请大佬解答,本人通过STM32F103采集压力传感器数据,并用MODBUS传输,STM32F1O3做从机,电脑做主机,用串口显示。问题是如何把传感器数据存入寄存器?u32 testdata=0x0001;
void Modbus_RegMap(void)
{      

        Modbus_InputIO[0]=(vu32*)&PEin(4);//KEY0     
        Modbus_InputIO[1]=(vu32*)&PEin(3);//KEY1     
        Modbus_InputIO[2]=(vu32*)&PEin(2);//KEY2
        Modbus_InputIO[3]=(vu32*)&PAin(0);//KEY3
        Modbus_OutputIO[0]=(vu32*)&PBout(5);//LED0
        Modbus_OutputIO[1]=(vu32*)&PEout(5);//LED1


           Modbus_HoldReg[0]=(u16*)&testdata;
        Modbus_HoldReg[1]=(u16*)®_Value;//((u16*)&testData1)+1;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
这是原子哥的代码,请问怎么把数据存入保寄存器?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2022-11-20 20:18 | 只看该作者
直接移植MODBUS就行了呗。另外你用的是MODBUS/RTU,而上位机实时性非常差,单一个从机没问题,多个从机恐怕实现不了,建议改成MODBUS/ASC。
回复

使用道具 举报

板凳
ID:1034262 发表于 2022-11-21 10:17 | 只看该作者
我用的都是MODBUS-RTU,从90年代就开始用,很好用。
里面的寄存器虚化了,就是定义一个寄存器地址,还不是实际的内存地址,就当做一个名字好了。
回复

使用道具 举报

地板
ID:291668 发表于 2023-3-1 15:04 | 只看该作者
受教了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表