Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
char adc[100];
char adc_pointer = 0;
void init_ports(void)
{
//ADCON1
PCFG0=1; //RA0 - аналог
PCFG1=1; //RA1 - аналог
PCFG2=0; //RA4 - цифра
PCFG3=1; //RA6 - аналог
VCFG0=0; // опорное напряжение - AVdd
TRISA=0xC3;
//ADCON2
ADFM=0; // левое прижатие результата
ACQT2=0; //111 - 20 TAD ????
ACQT1=0; // 1 почему не 4TAD?????
ACQT0=0;
ADCS2=0; // RC генератор
ADCS1=1;
ADCS0=1;
//ADCON0
CHS1=0; //включен канал 0
CHS0=0;
ADON=1;
}
void main()
{
OSCCON |= 0x70; // 8 МГц
PLLEN = 1; //8*4 МГц
init_ports();
while(1)
{
if (!ADGO)
{
adc[adc_pointer] = ADRESH;
temp = ADRESL;
if (++adc_pointer > 99)
adc_pointer = 0;
for(temp = 0; temp < 25;temp++); //задержка
ADGO=1;
}
}
}