OpenEdv-开源电子网

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

如何快速的把ADC采集的16位数据转换成8位数据

[复制链接]

1

主题

1

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2014-12-12
在线时间
0 小时
发表于 2014-12-12 22:46:20 | 显示全部楼层 |阅读模式
5金钱
本人想做一个高速数据采集系统,通过DMA把ADC采集到的数据发送至内存,在内存中开辟一个4K左右的空间。当这个空间存满之后,直接把这些数据发送出去。现在的关键问题是ADC通过DMA采集的数据是16位,而串口发送的数据是8位。当然不能把这个数据直接发送,如果按高低字节拆分,又会消耗CPU。如何快速的把16位数据转换成8位数据

最佳答案

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

无需转换,直接u8*指向即可.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-12-12 22:46:21 | 显示全部楼层
无需转换,直接u8*指向即可.
回复

使用道具 举报

1

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2016-1-11
在线时间
40 小时
发表于 2016-3-20 21:14:51 | 显示全部楼层
int16_t pwm1;
Data[2];
Data[0]=pwm1>>8;
Data[1]=pwm1;
回复

使用道具 举报

10

主题

146

帖子

0

精华

高级会员

Rank: 4

积分
764
金钱
764
注册时间
2015-12-19
在线时间
99 小时
发表于 2016-3-20 21:16:10 | 显示全部楼层
睡不着的诗人 发表于 2016-3-20 21:14
int16_t pwm1;
Data[2];
Data[0]=pwm1>>8;

回复神速啊   哈哈
回复

使用道具 举报

1

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2016-1-11
在线时间
40 小时
发表于 2016-3-20 21:17:08 | 显示全部楼层
睡不着的诗人 发表于 2016-3-20 21:14
int16_t pwm1;
Data[2];
Data[0]=pwm1>>8;

int16_t  pwm1;
int8_t  Data[2];
Data[0]=(unsigned char)(pwm1>>8);.
Data[1]=(unsigned char)pwm1.;
回复

使用道具 举报

1

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2016-1-11
在线时间
40 小时
发表于 2016-3-20 21:19:38 | 显示全部楼层
njjh1718 发表于 2016-3-20 21:16
回复神速啊   哈哈

这个错了,下面的是对的
回复

使用道具 举报

9

主题

58

帖子

0

精华

高级会员

Rank: 4

积分
542
金钱
542
注册时间
2016-2-24
在线时间
61 小时
发表于 2016-3-21 14:25:21 | 显示全部楼层
把ADC的数据对齐模式设为右对齐。此时若DMA是使用16位字长,则写入内存的16位单元高8位为你想要的8位数据。
由于Cortex-m3架构均为小端模式,因此若把16位单元拆开两个字节,后一个字节就是你要的结果了。
譬如这样:
union
{
  unsigned short int DMATarget; // 这是DMA的目标地址,16位长
  unsigned char        Byte[2];    //  DMA写入16位结果后,Byte[1]则为高8位。
}
回复

使用道具 举报

87

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2016-3-26
在线时间
116 小时
发表于 2016-5-26 19:49:02 | 显示全部楼层
正点原子 发表于 2014-12-12 22:46
无需转换,直接u8*指向即可.

u8*指向要发送的数据就行了吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-8 14:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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