OpenEdv-开源电子网

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

ADC通道设置问题

[复制链接]

96

主题

247

帖子

1

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2012-6-29
在线时间
0 小时
发表于 2012-11-21 16:16:36 | 显示全部楼层 |阅读模式
原子的开发板:
    我要把采集通道设置在CH10-14,对应Port口为PC0-4。
    请问我该怎么做呢?
http://blog.tianya.cn/blogger/blog_main.asp?BlogID=4666068
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

96

主题

247

帖子

1

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2012-6-29
在线时间
0 小时
 楼主| 发表于 2012-11-21 16:19:52 | 显示全部楼层
代码如下:
ADC_InitTypeDef ADC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;    
void  __ADC_Init(void)
{    
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_ADC1, ENABLE);

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOC, &GPIO_InitStructure);

RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1,ENABLE);
RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1,DISABLE);//解除复位
RCC_ADCCLKConfig(RCC_PCLK2_Div4);//56MHz的主频,降为14MHz。        

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; 
ADC_InitStructure.ADC_ScanConvMode = ENABLE; //DISABLE==单次扫描?多通道扫描模式? 
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //单次模式?连续模式? 
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //软件控制转换
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; 
ADC_InitStructure.ADC_NbrOfChannel = 16; 
ADC_Init(ADC1, &ADC_InitStructure);

ADC_SoftwareStartConvCmd(ADC1, ENABLE);

ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 11, ADC_SampleTime_239Cycles5);
ADC_RegularChannelConfig(ADC1, ADC_Channel_11, 12, ADC_SampleTime_239Cycles5);
ADC_RegularChannelConfig(ADC1, ADC_Channel_12, 13, ADC_SampleTime_239Cycles5);
ADC_RegularChannelConfig(ADC1, ADC_Channel_13, 14, ADC_SampleTime_239Cycles5);
ADC_Cmd(ADC1, ENABLE);//开启AD转换器

ADC_ResetCalibration(ADC1);//使能复位校准
while(ADC_GetResetCalibrationStatus(ADC1)==SET);
ADC_StartCalibration(ADC1);
while(ADC_GetCalibrationStatus(ADC1)==SET);
}

Get_Value代码不变.........

u16 Get_ADC_Value(u8 ch)  
{
 //设置转换序列     
 ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch
 ADC1->SQR3|=ch;
// ADC1->SQR2&=(~(u32)0x1F)<<20;
// ADC1->SQR2|=ch<<20;          
 ADC1->CR2|=1<<22;       //启动规则转换通道
 while(!(ADC1->SR&(1<<1)));//等待转换结束     
 return ADC1->DR;  //返回adc值 
}
http://blog.tianya.cn/blogger/blog_main.asp?BlogID=4666068
回复 支持 反对

使用道具 举报

96

主题

247

帖子

1

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2012-6-29
在线时间
0 小时
 楼主| 发表于 2012-11-21 16:22:21 | 显示全部楼层
主函数内,我调用最后一个函数,该函数的u8 ch,我设置为11。但在PC1口上,我测不到数据。
http://blog.tianya.cn/blogger/blog_main.asp?BlogID=4666068
回复 支持 反对

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2012-11-17
在线时间
0 小时
发表于 2012-11-21 16:38:20 | 显示全部楼层
直接从dma目标地址中取数据 参考我的帖子 刚发的
ADC_InitStructure.ADC_NbrOfChannel = 16;
这个地方应该是和采样通道数目一样。
回复 支持 反对

使用道具 举报

96

主题

247

帖子

1

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2012-6-29
在线时间
0 小时
 楼主| 发表于 2012-11-21 16:39:31 | 显示全部楼层
上面的代码,大家帮忙看一下,是否有错,我实验的时候,看不到PC1口可以被ADC1输入的结果。
http://blog.tianya.cn/blogger/blog_main.asp?BlogID=4666068
回复 支持 反对

使用道具 举报

头像被屏蔽

82

主题

191

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
465
金钱
465
注册时间
2011-11-14
在线时间
33 小时
发表于 2012-11-21 17:02:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

96

主题

247

帖子

1

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2012-6-29
在线时间
0 小时
 楼主| 发表于 2012-11-21 20:18:48 | 显示全部楼层
ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 11, ADC_SampleTime_239Cycles5);
http://blog.tianya.cn/blogger/blog_main.asp?BlogID=4666068
回复 支持 反对

使用道具 举报

96

主题

247

帖子

1

精华

高级会员

Rank: 4

积分
801
金钱
801
注册时间
2012-6-29
在线时间
0 小时
 楼主| 发表于 2012-11-21 22:07:47 | 显示全部楼层
明白了,我设置有问题
比如通道数目应该设置1,而不是16.

问题解决了额。
在我的配置下,CH0-15,都可以作为ADC采样输入........
http://blog.tianya.cn/blogger/blog_main.asp?BlogID=4666068
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2019-9-9
在线时间
30 小时
发表于 2021-7-19 16:07:05 | 显示全部楼层
moline 发表于 2012-11-21 22:07
明白了,我设置有问题
比如通道数目应该设置1,而不是16.

问题解决了额。
在我的配置下,CH0-15,都可以作 ...

遇到了同样问题,你最终怎么解决的?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 06:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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