OpenEdv-开源电子网

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

请问16位数据拆分成高低八位串口发送给上位机,怎样将两个八位还原成一个16位呢?

[复制链接]

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-2-29
在线时间
12 小时
发表于 2016-3-23 15:59:33 | 显示全部楼层 |阅读模式
请问16位数据拆分成高低八位串口发送给上位机,怎样将两个八位还原成一个16位呢?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8031
金钱
8031
注册时间
2014-8-13
在线时间
1595 小时
发表于 2016-3-23 16:16:45 | 显示全部楼层
本帖最后由 mack13013 于 2016-3-23 16:19 编辑

u16 uwWord = ucByteHigh << 8 + ucByteLow;

u16 uwWord = ucByteHigh * 256 + ucByteLow;

memcpy(&uwWord, &ucByteLow,1);

memcpy(&uwWord + 1, &ucByteHigh ,1);

不一定准确,你试试吧。
回复 支持 1 反对 0

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-2-29
在线时间
12 小时
 楼主| 发表于 2016-3-23 20:29:56 | 显示全部楼层
mack13013 发表于 2016-3-23 16:16
u16 uwWord = ucByteHigh

你好,我是把16位数据串口发到上位机matlab处理,这段代码不行吧?是不应该在matlab中把数据还原?
回复 支持 反对

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8031
金钱
8031
注册时间
2014-8-13
在线时间
1595 小时
发表于 2016-3-24 15:20:11 | 显示全部楼层
lihy_ 发表于 2016-3-23 20:29
你好,我是把16位数据串口发到上位机matlab处理,这段代码不行吧?是不应该在matlab中把数据还原?

那个是C语言的代码。matlab怎么处理我不知道。。。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 17:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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