你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L476RC ADC-DMA 输出值后半部分都是0,不知道为什么?

[复制链接]
ccmm520 提问时间:2018-3-21 19:22 /
在做ADC-DMA转电压值时,输出值存储在uhADCxConvertedValue中,长度为256,但是打印出来的值每个通道的前128个有数值,但是后128个数据都为0,很奇怪,不知道为什么?

#define NB  256 //每个通道长度为256
#define CHN  2  //两个通道
#define ADCNB NB*CHN

u16 uhADCxConvertedValue[NB][CHN];

HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&uhADCxConvertedValue, ADCNB);

for(int a=0;a<NB;a++){
  printf("uhADCxConvertedValue[%d][0]= %d\r\n",a,uhADCxConvertedValue[a][0]);  //通道1的数据
  printf("uhADCxConvertedValue[%d][1]= %d\r\n",a,uhADCxConvertedValue[a][1]); //通道2的数据
}

收藏 评论6 发布时间:2018-3-21 19:22

举报

6个回答
七哥 回答时间:2018-3-21 22:22:41
不知道你在什么时候读取数据的,不知道跟DMA进两次中断有没有关系。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

xmshao 回答时间:2018-3-21 23:07:20
是不是配置哟问题? 注意数据宽度问题。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

ccmm520 回答时间:2018-3-22 10:16:32
toofree 发表于 2018-3-21 22:22
不知道你在什么时候读取数据的,不知道跟DMA进两次中断有没有关系。

“从程序看,DMA会进两次中断,第一次是一半传输完,第二次是全部传输完”这句话怎么理解,怎么看出会两次中断还要读两次才完整?
埃斯提爱慕 回答时间:2018-3-22 10:51:04
提示: 作者被禁止或删除 内容自动屏蔽
七哥 回答时间:2018-3-22 11:17:32
ccmm520 发表于 2018-3-22 10:16
“从程序看,DMA会进两次中断,第一次是一半传输完,第二次是全部传输完”这句话怎么理解,怎么看出会两 ...

傲游截图20180322111656.png
ccmm520 回答时间:2018-3-22 14:41:24

哦,大概清楚了,谢谢

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版