AVR C

Hej

Nogle der hurtig kan fortælle hvad der er galt med denne ADC driver :

Jeg syntes den har kørt, men er ikke sikker, det er som at den læser ADC værdien første gang og cacher den til alle de andre målinger jeg laver.. jeg syntes jeg har prøvet at disable og enable hele ADC'en etc, og tjekket at den venter på flaget.. dog clear jeg interupt flaget lige inden jeg starter den single conversion, men har prøvet et delay der. og også prøvet at clear det efter end conversion. jeg debugger/flasher med en JTAG... Det er sikkert en lille fejl jeg bare ikke kan se lige nu :( Kasper

unsigned int adc_meas(unsigned char channel) { timeout_type time_out=timeout_count; unsigned int temp=0; channel &= 0x07; ADMUX = 0x40|channel; //0100-0xxx ADCSRA = 0xD6; //1101-0110 while(!(ADCSRA&0x10)) { if (!time_out++) // Time out, if transmission error occours { error(ADC_TIMEOUT); // execute error handler return 0; // Exit recive rutine } } temp = ADCH; temp

Reply to
Repzak
Loading thread data ...

Heh... problem løst...

ADCL Skal læses før ADCH... *suk*

Kasper

Reply to
Repzak

Den Sun, 05 Jun 2005 22:25:59 +0200. skrev Repzak:

Kommer du nogensinde ud af while løkken?? Det kan jo være at det kun er første gang og så bliver den hængende og udlæser den gamle værdi.

--
Med venlig hilsen

Christian Treldal
Reply to
Christian Treldal

Jarp det gør den, der er også lavet timeout på den så den returnere 0 og køre en error handler hvis den ikke skulle komme ud....

men som sagt problemet er løst...

Kasper

Reply to
Repzak

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.