OpenEdv-开源电子网

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

我是AVR的,多通道ADC数据相同

[复制链接]

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2019-4-24
在线时间
16 小时
发表于 2019-7-24 09:27:40 | 显示全部楼层 |阅读模式
开多通道数据就会被前一个影响导致都一样,单独开的时候没问题
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2019-4-24
在线时间
16 小时
 楼主| 发表于 2019-7-24 10:26:17 | 显示全部楼层
void init_ADC0(void)
{
        ADMUX|=(1<<REFS0);                                                                                                                        //参考电压AVCC 选择ADC0 右对齐
        ADCSRA|=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1);                                                                                        //ADC使能  分频64
}

void init_ADC1(void)
{
        ADMUX|=(1<<REFS0)|(1<<MUX0);                                                                                                        //参考电压AVCC 选择ADC1 右对齐
        ADCSRA|=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1);                                                                                        //ADC使能  分频64
}


void init_ADC2(void)
{
        ADMUX|=(1<<REFS0)|(1<<MUX1);                                                                                                        //参考电压AVCC 选择ADC2 右对齐
        ADCSRA|=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1);                                                                                        //ADC使能  分频64
}


void init_ADC3(void)
{
        ADMUX|=(1<<REFS0)|(1<<MUX1)|(1<<MUX0);                                                                                                        //参考电压AVCC 选择ADC2 右对齐
        ADCSRA|=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1);                                                                                        //ADC使能  分频64
}



while (1)
        {       
                init_ADC3();
                uint x;
                ADCSRA|=(1<<ADSC);
                while(!(ADCSRA&(1<<ADIF)));
                x=ADCL;
                x+=ADCH*256;
                LCD_CAIJI_ZHUANJU(x);
                ADCSRA|=(1<<ADIF);

                init_ADC1();
                uint y;
                ADCSRA|=(1<<ADSC);
                while(!(ADCSRA&(1<<ADIF)));
                y=ADCL;
                y+=ADCH*256;
                LCD_CAIJI_DIANLIU(y);
                ADCSRA|=(1<<ADIF);
               
                PORTB|=(1<<PB1);
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-7 16:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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