OpenEdv-开源电子网

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

问一个485发送数据的问题

[复制链接]

30

主题

77

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2012-11-12
在线时间
0 小时
发表于 2013-3-29 16:21:53 | 显示全部楼层 |阅读模式
我想用stm32 的485口发送一个十二位的数,但是好像一次只能发一个八位的数,下面a 和b分别为八位的数,c是十二位的数,怎么发送再怎么组合呢,能详细说一下这个怎么位操作吗?




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

96

主题

762

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1228
金钱
1228
注册时间
2012-10-19
在线时间
15 小时
发表于 2013-3-29 16:56:59 | 显示全部楼层
STM32 默认 可以发 7位 和 8位。想要十二位 自己写协议 实现咯
回复 支持 反对

使用道具 举报

30

主题

77

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2012-11-12
在线时间
0 小时
 楼主| 发表于 2013-3-29 17:47:13 | 显示全部楼层
回复【2楼】tian123chi:
---------------------------------
具体怎么实现呢,能再指点一下吗,谢谢了
回复 支持 反对

使用道具 举报

96

主题

762

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1228
金钱
1228
注册时间
2012-10-19
在线时间
15 小时
发表于 2013-4-1 09:55:29 | 显示全部楼层
回复【3楼】jay517217:
---------------------------------
这个不难吧,就是分两次发送啊,利用软件约束
回复 支持 反对

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2013-3-18
在线时间
5 小时
发表于 2013-4-1 11:26:05 | 显示全部楼层
将数字用一个/数字转字符/转成字符发送,也就是ASCII。接收完之后再用/字符转数字/转回来即可。转换代码网上有很多可以自己选一个好的。(当然这种方法的效率相对16进制来说是比较低的)
执着!技术,时刻准备着!
回复 支持 反对

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2013-4-2 16:25:10 | 显示全部楼层
u16 data;

data &= 0xff;

你发送的时候, 发两个字节 *(( (u8*)&data) + 0) 和*(( (u8*)&data) + 1)

接收的时候逆过来存储

或者用联合体, 
union{
  u16 data;
 u8  databyte[2];
};
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-22 06:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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