First, I thank keil.com for this forum...
I am using C515C, and I connected it to an LCD.
When I convert an analog signal coming from P6.1 to 8 bit, the output is right.
But when I convert the signal to 10 bit resolution, at the program execution reaches the conversion function it goes back to the start of the program...!! I feel that the problem is in using the "unsigned int " for the 10 bit.. Could you help me please...
----------------------------------------------- The program (8 bit conversion) -working fine-
unsigned char kk; . . void main() { . . ADC_vStart(0,1); kk = ADC_ubRead8BitConv(); . . }
---------------------------------------------- The program (10 bit conversion) -NOT Working-
unsigned int kk; . . void main() { . . ADC_vStart(0,1); kk = ADC_ubRead10BitConv(); . . } ---------------------------
ok,, this is the function...
#define uword unsigned int
uword ADC_uwRead10BitConv(void) { uword tmp = 0;
tmp = ADDATH;
tmp <<= 8;
tmp |= ADDATL;
tmp >>= 6;
return(tmp);
}
and..
sfr ADDATH = 0xD9;