野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13542|回复: 1

stm32双通道采集问题

[复制链接]
发表于 2015-7-9 20:37:26 | 显示全部楼层 |阅读模式
我用的是stm32mini的单片机,我想用adc1和adc2分别采样时,两个adc配置如下             //ADC1 configuration         ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;                        //adc1独立模式
        ADC_InitStructure.ADC_ScanConvMode =  ENABLE ;                                          //扫描
        ADC_InitStructure.ADC_ContinuousConvMode =  ENABLE;                        //持续
        ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;        //软件触发
        //ADC1->CR2=0x001E0001;
        //ADC1->CR2=0x000E0001;
        ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;         //右对齐
        ADC_InitStructure.ADC_NbrOfChannel = 2;                                                                         //通道数
        ADC_Init(ADC1, &ADC_InitStructure);
       
        /*adc1采样频率′9MHz*/

        RCC_ADCCLKConfig(RCC_PCLK2_DiARM);
        /*ÅäÖÃADC1μÄí¨μà11Îa55.        5¸ö2éÑùÖüÆú£¬DòáDÎa1 */
        ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_55Cycles5);
       
        /* Enable ADC1 DMA */
        //ADC_DMACmd(ADC1, ENABLE);
       
        /* Enable ADC1 */
        ADC_Cmd(ADC1, ENABLE);
        ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;                        /adc2独立
        ADC_InitStructure.ADC_ScanConvMode = ENABLE ;                                          /扫描
        ADC_InitStructure.ADC_ContinuousConvMode =  ENABLE;                        //连续
        ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;        //软件触发
        //ADC1->CR2=0x001E0001;
        //ADC1->CR2=0x000E0001;
        ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;         //右对齐
        ADC_InitStructure.ADC_NbrOfChannel = 2;                                                                         /2个通道
        ADC_Init(ADC2, &ADC_InitStructure);
       
        /*ÅäÖÃADCê±Öó£¬ÎaPCLK2μÄ8·ÖÆμ£¬¼′9MHz*/

        RCC_ADCCLKConfig(RCC_PCLK2_DiARM);
        /*ÅäÖÃADC1μÄí¨μà11Îa55.        5¸ö2éÑùÖüÆú£¬DòáDÎa1 */
        ADC_RegularChannelConfig(ADC2, ADC_Channel_5, 2, ADC_SampleTime_55Cycles5);
       
        /* Enable ADC1 DMA */
        //ADC_DMACmd(ADC1, ENABLE);
       
        /* Enable ADC1 */
        ADC_Cmd(ADC2, ENABLE);
       
        /*¸′λD£×¼¼Ä′æÆ÷ */   
        ADC_ResetCalibration(ADC1);
        ADC_ResetCalibration(ADC2);
        /*adc校验 */
        while(ADC_GetResetCalibrationStatus(ADC1));
        while(ADC_GetResetCalibrationStatus(ADC2));
       
        /* ADCD£×¼ */
        ADC_StartCalibration(ADC1);
                ADC_StartCalibration(ADC2);
        /* μè′yD£×¼íê3é*/
        while(ADC_GetCalibrationStatus(ADC1));
        while(ADC_GetCalibrationStatus(ADC2));
就是将adc1 的配置同样配置adc2,然后分别在adc1和adc2的dr里取数据,但是就是adc2乱码!
火哥救命呀1


回复

使用道具 举报

发表于 2017-8-10 20:12:34 | 显示全部楼层
解决了吗,,我也想问这个问题
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-6 05:49 , Processed in 0.040075 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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