OpenEdv-开源电子网

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

STM32的ADC多通道连续转化如何实现

[复制链接]

13

主题

105

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
16874
金钱
16874
注册时间
2012-10-20
在线时间
48 小时
发表于 2012-12-8 21:59:44 | 显示全部楼层 |阅读模式
这是我在原子单通道程序上的改动
 ADC_InitStructure.ADC_ScanConvMode = ENABLE; //模数转换工作在多通道模式
 ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //模数转换工作在连续转换模式
ADC_InitStructure.ADC_NbrOfChannel = 2; //顺序进行规则转换的ADC通道的数目

//获得ADC值
//ch:通道值 0~3,Rank:采样顺序
u16 Get_Adc(u8 ch,u8 Rank)  
{
   //设置指定ADC的规则组通道,设置它们的转化顺序和采样时间
 ADC_RegularChannelConfig(ADC1, ch, Rank , ADC_SampleTime_239Cycles5 ); //ADC1,ADC通道3,规则采样顺序值为1,采样时间为239.5周期 
 while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
 
 return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果
}

可是最终的效果是通道数据错位,通道1的跑到通道2.求助高手
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 05:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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