OpenEdv-开源电子网

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

STM32中485多机通信从机地址设置

[复制链接]

27

主题

99

帖子

0

精华

高级会员

Rank: 4

积分
852
金钱
852
注册时间
2013-12-25
在线时间
103 小时
发表于 2013-12-25 17:00:32 | 显示全部楼层 |阅读模式
      STM32中485多机通信中怎么区分发送的是数据还是地址,我想发送u8 rs485buf_1[]={0x45,0xCE,0x28,0x0F,0x0F,0x18,0x38,0x57};其中 0X45为从机的地址,后面的7位位数据。。谢谢各位大侠啦。。。
     我是设置成USART_InitStructure.USART_WordLength = USART_WordLength_9b;     //9位数据长度
     u8 rs485buf_1[]={0x145,0x0CE,0x028,0x00F,0x00F,0x018,0x038,0x057};     //最高位为1是地址,为0为数据
     不知道我这样设置可否?????
海到无边天作岸?
山登绝顶我为峰
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

18

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
421
金钱
421
注册时间
2013-2-4
在线时间
214 小时
发表于 2013-12-25 18:02:28 | 显示全部楼层
也在弄这个,感觉串口掌握的不熟啊。。

手册上面说,地址是四位。干嘛设置 0x45 这么大,从0x01开始不行?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-12-25 21:00:36 | 显示全部楼层
完全靠协议来解决。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

27

主题

99

帖子

0

精华

高级会员

Rank: 4

积分
852
金钱
852
注册时间
2013-12-25
在线时间
103 小时
 楼主| 发表于 2013-12-26 08:18:25 | 显示全部楼层
回复【2楼】sunday151640:
---------------------------------
从机是其他公司的设备,主机是我们公司的设备,从机协议是人家定好的,不能改的。准确的说,是我正在破解其他公司的设备协议,我只是分析到0x45是他们公司从机的地址
海到无边天作岸?
山登绝顶我为峰
回复 支持 反对

使用道具 举报

27

主题

99

帖子

0

精华

高级会员

Rank: 4

积分
852
金钱
852
注册时间
2013-12-25
在线时间
103 小时
 楼主| 发表于 2013-12-26 08:19:42 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
协议是没办法改的,协议是定死的。从机是其他公司的设备,主机是我们公司的设备,从机协议是人家定好的,不能改的。准确的说,是我正在破解其他公司的设备协议,我只是分析到0x45是他们公司从机的地址
海到无边天作岸?
山登绝顶我为峰
回复 支持 反对

使用道具 举报

27

主题

99

帖子

0

精华

高级会员

Rank: 4

积分
852
金钱
852
注册时间
2013-12-25
在线时间
103 小时
 楼主| 发表于 2013-12-26 08:23:10 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
从机的下位机是51单片机,但是程序我不清楚,我只是采集到数据是这样发送的{0x45,0xCE,0x28,0x0F,0x0F,0x18,0x38,0x57};,其中0x45是地址,,十分感谢,我再考虑考虑吧
海到无边天作岸?
山登绝顶我为峰
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-12-26 10:53:48 | 显示全部楼层
回复【5楼】为你分心:
---------------------------------
这样,那你还得慢慢研究了,呵呵
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

14

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
411
金钱
411
注册时间
2017-6-12
在线时间
85 小时
发表于 2017-6-12 16:59:55 | 显示全部楼层
楼主,你好,请问你实现了吗?我现在要做这样的功能。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2019-10-19
在线时间
4 小时
发表于 2019-10-19 18:21:37 | 显示全部楼层
请问您解决了么 ?如果解决了 请给我介绍一下
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2021-9-11
在线时间
2 小时
发表于 2021-9-11 13:01:39 | 显示全部楼层
u8 rs485buf_1[]={0x145,0x0CE,0x028,0x00F,0x00F,0x018,0x038,0x057};     //最高位为1是地址,为0为数据
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2021-9-11
在线时间
2 小时
发表于 2021-9-11 13:02:33 | 显示全部楼层
u16 rs485buf_1[]={0x145,0x0CE,0x028,0x00F,0x00F,0x018,0x038,0x057};     //最高位为1是地址,为0为数据  将数据类型改为16位
回复 支持 反对

使用道具 举报

27

主题

99

帖子

0

精华

高级会员

Rank: 4

积分
852
金钱
852
注册时间
2013-12-25
在线时间
103 小时
 楼主| 发表于 2021-9-15 15:44:23 | 显示全部楼层
jiangmaple 发表于 2021-9-11 13:02
u16 rs485buf_1[]={0x145,0x0CE,0x028,0x00F,0x00F,0x018,0x038,0x057};     //最高位为1是地址,为0为数 ...

谢谢,是这么回事
海到无边天作岸?
山登绝顶我为峰
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-7 09:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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