OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6836|回复: 9

改变原子的战舰MODBUS485 改为MINI MODBUS232 无返回 求帮助

[复制链接]

5

主题

29

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-20
在线时间
74 小时
发表于 2018-3-23 21:18:12 | 显示全部楼层 |阅读模式
2金钱

战舰485MODBUS改为MINI232MODBUS.zip

2.92 MB, 下载次数: 2810

最佳答案

查看完整内容[请看2#楼]

找找问题了 原子哥太强大了 把MODBUS移植的代码改的简单了 用起来很方便
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

29

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-20
在线时间
74 小时
 楼主| 发表于 2018-3-23 21:18:13 | 显示全部楼层
找找问题了    原子哥太强大了   把MODBUS移植的代码改的简单了  用起来很方便
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-3-25 01:47:40 | 显示全部楼层
帮顶
回复

使用道具 举报

0

主题

1

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2017-8-21
在线时间
16 小时
发表于 2018-3-26 10:49:16 | 显示全部楼层
楼主能细说一下吗 ? 多谢了
回复

使用道具 举报

5

主题

29

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-20
在线时间
74 小时
 楼主| 发表于 2018-3-26 11:52:15 | 显示全部楼层
晚上上传程序吧    第一个程序有点小错误
回复

使用道具 举报

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
270
金钱
270
注册时间
2018-11-3
在线时间
58 小时
发表于 2018-12-24 15:44:19 | 显示全部楼层
1172250862 发表于 2018-3-26 11:52
晚上上传程序吧    第一个程序有点小错误

你好,请问错误是在哪里呢?我移植了程序,也遇到了一些问题
回复

使用道具 举报

0

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2013-12-16
在线时间
49 小时
发表于 2019-1-27 11:20:20 | 显示全部楼层
你好,能传一个程序吗
回复

使用道具 举报

0

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
239
金钱
239
注册时间
2018-2-28
在线时间
76 小时
发表于 2019-4-10 11:23:32 | 显示全部楼层
求源码
回复

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2019-3-26
在线时间
19 小时
发表于 2019-10-1 14:47:29 | 显示全部楼层
本帖最后由 张朋 于 2019-10-1 16:34 编辑

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Modbus寄存器和单片机寄存器的映射关系
//vu32 *Modbus_InputIO[100];                      //输入开关量寄存器指针(这里使用的是位带操作)
//vu32 *Modbus_OutputIO[100];                     //输出开关量寄存器指针(这里使用的是位带操作)
u16 *Modbus_HoldReg[1000];                      //保持寄存器指针
u32 testData1=256,testData2=512;
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*)&testData1;//测试数据1
        Modbus_HoldReg[1]=((u16*)&testData1)+1;//测试数据1
        Modbus_HoldReg[2]=(u16*)&testData2;//测试数据2
        Modbus_HoldReg[3]=((u16*)&testData2)+1;//测试数据2

你好请教一个问题,我用MODBUS POLL这一个当的主机,单片机做的从机,测的第一个是256,第二个我感觉应该是257结果是0 
0    256
1     0      //这一个我感觉应该是257不是吗,我看后面加个1
2    512
3     0
4    10320   //这些我看没有定义,是算初值吗
5    10320
6    10320 
这是测试的结果,但是还有一个问题就是我用0x10这一个写多寄存器把里面的值改了,按理说值应该是我改过的不是吗,我把他改成0x03令后他又变成现在这一种了,不解,高手能指点一二吗,万分感谢!
回复

使用道具 举报

7

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2020-8-18
在线时间
29 小时
发表于 2022-1-21 11:26:37 | 显示全部楼层
张朋 发表于 2019-10-1 14:47
//////////////////////////////////////////////////////////////////////////////////////////////////// ...

你好,我想咨询一下,往单片机发送数据,比如01 03 接下来要用到地址,这个地址具体写多少呀,
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-20 13:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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