智能车制作
标题:
ADC 虐死我啦!!
[打印本页]
作者:
小猪的奋斗
时间:
2014-3-15 11:51
标题:
ADC 虐死我啦!!
大家好 我是用的是coldfree 52255 做光电! 搞啦好长时间的 adc啦 真的不知道到底哪里出错啦。。。 我使用的是蓝宙的上位机 我一开始仅仅 一 ccd采集 adc(12位 转化为8位 二 发送到上位机上 看图像 虽然有点杂波 但是大体图形是对的 但是我把CCD采集到的数据打印出来 (printf) 大都是255 本以为是格式的错误 我就弄拉个滑动变阻器来检测一下adc的数值 发现没啥问题 !!! (0--255) 。。。。。 真的不知道哪里的错误 到底怎么搞才好 。。。。 求大家指点 我的q519069167 麻烦大家啦!!!
作者:
小猪的奋斗
时间:
2014-3-15 11:53
#include "ADC.h"
int AD_Value_temp;
int sum;
void ADC_init(void)
{
MCF_GPIO_PANPAR = 0xFF;
MCF_ADC_CTRL1 = 0b0101000000000010;//循环顺序扫描模式,AN0~7设为单端输入,禁止中断,停止转换
//SMODE=2.循环顺序扫描
//CHNCFG=0,8路ANn都设为单端输入
//HLMTIE=0,禁止超上限中断
//LLMTIE=0,禁止超下限中断
//ZCIE=O,禁止过零中断
//EOSIEO=0,禁止转换完成中断
//SYNC0=1,由SYNC0输入或写START0启动扫描
//START=0,未启动扫描
//STOP0=1,停止转换
MCF_ADC_CTRL2 = 0b0000000000001001;
//DIV=20,ADC时钟频率
//(fAD=fBUS/((9+1)*2)
MCF_ADC_POWER = 0b0000000010100100;
//PD0=0,转换器A上电
//PD1=0,转换器B上电
//PD2=1,参考电压电路上电依赖于转换器A/B
//APD=0,禁止自动掉电
//PUDELAY=10;上电延时为1O个ADC时钟周期
//ASB=0,禁止自动低功耗模式
MCF_ADC_CAL = 0b0000000000000000;
//SEL_VREFH=0,SEL_VREFL=O
//使用内部参考电压VRH和VRL
MCF_ADC_CTRL1 &= 0xBFFF;
while(MCF_ADC_POWER&MCF_ADC_POWER_PSTS0) ;
while(MCF_ADC_POWER&MCF_ADC_POWER_PSTS1) ;
MCF_ADC_CTRL1 |= 0X2000;
}
uint16 ADonce(uint16 ANn)
{
uint16 result;
while(MCF_ADC_ADSTAT&(1<<ANn)==0);
result= ((MCF_ADC_ADRSLT(ANn))>>3);
return result;
}
作者:
幕水欣留芳
时间:
2014-4-12 16:06
你是怎么转化为八位的,是用位移还是什么
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2