早教吧 育儿知识 作业答案 考试题库 百科 知识分享

为什么我的AD转换程序在ATMEGA16上好使而到了ATMEGA64上就不好用了呢uintaddata;DDRF&=~(BIT(PF0));//转换口设置为输入、无上拉PORTF&=~(BIT(PF0));ADMUX=0;//采用外部参考电压,输出数据右对

题目详情
为什么我的AD转换程序在ATMEGA16上好使而到了ATMEGA64上就不好用了呢
uint addata;
DDRF&=~(BIT(PF0)); //转换口设置为输入、无上拉
PORTF&=~(BIT(PF0));
ADMUX=0; //采用外部参考电压,输出数据右对齐
ADMUX|=chl; //设置指定的通道
ADCSRA=0X80; //采用单次转换,查询模式,2分频
ADCSRA|=BIT(ADSC); //启动转换
while(!(ADCSRA&(BIT(ADIF)))); //等待转换结束
addata=ADCL;//读取低8位数据
addata=addata+ADCH*256;//读取高2位数据
return addata;//返回10位数据
进行JTAG仿真时一执行到等待转换结束就死在那了 ,哪位高手解释下?是不是碰见假片子了?
▼优质解答
答案和解析
改变分频系数,分频系数太低,就意味着速度特别快!