OpenEdv-开源电子网

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

STM32F429 单路ADC两个通道为什么第二个通道采不到信号!!!急!!!

[复制链接]

2

主题

4

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2017-8-9
在线时间
0 小时
发表于 2017-8-10 19:10:40 | 显示全部楼层 |阅读模式
4金钱
这是我的ADC配置
void  Adc_Init(void)
{   
        //Ïè3õê¼»ˉIO¿ú
        RCC->APB2ENR|=1<<8;            //ê1&#196;üADC1ê±&#214;ó
        RCC->AHB1ENR|=1<<0;            //ê1&#196;üPORTAê±&#214;ó          
        GPIO_Set(GPIOA,PIN5,GPIO_MODE_AIN,0,0,GPIO_PUPD_PU);        //PA5,&#196;£&#196;aê&#228;è&#235;,&#207;&#194;à-   
        GPIO_Set(GPIOA,PIN4,GPIO_MODE_AIN,0,0,GPIO_PUPD_PU);        //PA5,&#196;£&#196;aê&#228;è&#235;,&#207;&#194;à-  
        RCC->APB2RSTR|=1<<8;           //ADCs&#184;′&#206;&#187;
        RCC->APB2RSTR&=~(1<<8);        //&#184;′&#206;&#187;&#189;áê&#248;         
        ADC->CCR=1<<16;                        //ADCCLK=PCLK2/4=90/4=22.5Mhz,ADCê±&#214;ó×&#238;o&#195;2&#187;òa3&#172;1y36Mhz
       
        ADC1->CR1=0;                           //CR1éè&#214;&#195;&#199;&#229;á&#227;
        ADC1->CR2=0;                           //CR2éè&#214;&#195;&#199;&#229;á&#227;
        ADC1->CR1|=0<<24;              //12&#206;&#187;&#196;£ê&#189;
        ADC1->CR1|=0<<8;            //·&#199;é¨&#195;è&#196;£ê&#189;       
       
        ADC1->CR2 |=(1<<1);            //×a&#187;&#187;&#196;£ê&#189;
        ADC1->CR2&=~(1<<11);           //óò&#182;&#212;&#198;&#235;       
        ADC1->CR2|=0<<28;            //èí&#188;t′¥·¢
       
        ADC1->SQR1 &= ~(0XF<<20);
        ADC1->SQR1|=0<<20;             //1&#184;&#246;×a&#187;&#187;&#212;ú1&#230;&#212;òDòáD&#214;D ò2&#190;íê&#199;&#214;&#187;×a&#187;&#187;1&#230;&#212;òDòáD1                           
        //éè&#214;&#195;í¨μà5μ&#196;2é&#209;ùê±&#188;&#228;
        ADC1->SMPR2&=~(7<<(3*5));//í¨μà52é&#209;ùê±&#188;&#228;&#199;&#229;&#191;&#213;          
        ADC1->SMPR2|= 1<<(3*5);         //í¨μà5  480&#184;&#246;&#214;ü&#198;ú,ìá&#184;&#223;2é&#209;ùê±&#188;&#228;&#191;éò&#212;ìá&#184;&#223;&#190;&#171;è·&#182;è         
        ADC1->SMPR2&=~(7<<(3*4));//í¨μà52é&#209;ùê±&#188;&#228;&#199;&#229;&#191;&#213;          
        ADC1->SMPR2|= 1<<(3*4);         //í¨μà5  480&#184;&#246;&#214;ü&#198;ú,ìá&#184;&#223;2é&#209;ùê±&#188;&#228;&#191;éò&#212;ìá&#184;&#223;&#190;&#171;è·&#182;è         
        ADC1->CR2|=1<<0;                   //&#191;a&#198;&#244;AD×a&#187;&#187;&#198;÷          
}       


用的是例程的初始化  加了 PIN4 但是我用PA4接输入信号的时候就采不到点 用PA5接的时候就采的到

我用的是定时器采样
void TIM3_IRQHandler(void)
{                                                                   
        if(TIM3->SR&0X0001)//ò&#231;3&#246;&#214;D&#182;&#207;
        {
                if(state == 0)
                {
                        if(adc_tmp <= 8190)
                        {
                                D_ADC_data[adc_tmp] = (float)Get_Adc(5);
                                adc_tmp += 2;
                        }
                        else
                        {
                                adc_tmp = 0;
                                state = 1;
                                TIM3->CR1 &= ~0x01;    //11&#216;±&#213;&#182;¨ê±&#198;÷
                        }
                }
                if(state == 2)
                {
                        if(adc_tmp <= 8190)
                        {
                                B_ADC_data[adc_tmp] = (float)Get_Adc(4);
                                adc_tmp += 2;
                        }
                        else
                        {
                                adc_tmp = 0;
                                state = 3;
                                TIM3->CR1 &= ~0x01;    //11&#216;±&#213;&#182;¨ê±&#198;÷
                        }
                }
        }                                  
        TIM3->SR&=~(1<<0);//&#199;&#229;3y&#214;D&#182;&#207;±ê&#214;&#190;&#206;&#187;             

}

查不出 错了啊  好急!! 求各位大哥帮忙看一看哪里配置出了问题
定时器是没问题的 我把Get_Adc( )里的5和4互换了的话 也是PA4的引脚没有采到数据

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2017-8-9
在线时间
0 小时
 楼主| 发表于 2017-8-10 19:37:04 | 显示全部楼层
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2017-8-9
在线时间
0 小时
 楼主| 发表于 2017-8-10 19:45:20 | 显示全部楼层
我的想法是 第一路信号先转换 存完之后 进行一部分其他操作 然后再回来转换第二路信号  然后再出去
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165462
金钱
165462
注册时间
2010-12-1
在线时间
2114 小时
发表于 2017-8-12 00:56:24 | 显示全部楼层
仿真找问题
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-20 15:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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