Toolchain works fine for most of the device families including 18F but not for the 18f452 only. I will code it from scratch, oldschool. On Thu, Oct 4, 2012 at 9:22 PM, Joe Wronski wr= ote: > So why do you think the device or data sheet has a problem? > It sounds more like the problem is in your toolchain. > > Joe W > > > > On 10/4/2012 8:17 AM, Yigit Turgut wrote: >> Thanks to all replies but I believe there is a more fundamental >> problem because ; >> >> ADC_8ANA_0REF >> >> this config parameter is not recognized by C18/MPLABX thus is not >> suitable to compile. Something is definitely wrong (: >> >> On Thu, Oct 4, 2012 at 2:56 PM, peter green wrote= : >>> Yigit Turgut wrote: >>>> Hi folks, >>>> >>>> I have a piece-of-cake question for the most of you ; >>>> >>>> For some test purposes I am trying to implement some stuff in a >>>> 18f452. By referring to datasheet (39564c.pdf ~ 5.7Mb) I think I am >>>> not able to set the correct bits right. For the initial test I tried >>>> to use the built-in function of the C18 compiler, my other routines >>>> work perfectly well except the lousy internal ADC. For the test ; >>>> >>>> >>>> #include >>>> #include >>>> #include >>>> >>>> unsigned int result; >>>> >>>> void main( void ) >>>> { >>>> TRISA =3D 1 ; >>>> >>> Ok so you are making bit0 of portA an input and all other bits outputs. >>> In particular you are making bit1 which you are about to go and try and >>> use as an analog input an output. >>> >>> Setting pins to analog mode does NOT disable the output driver so if >>> you want to use a pin as an analog input you must have it set as an inp= ut >>> in the tris registers. >>>> TRISB =3D 0; >>>> LATBbits.LATB6 =3D 0; >>>> >>>> OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_8ANA & ADC_CH1 & ADC_INT_O= FF ); >>>> >>> Lets take a look at the C18 libraries documentation. >>> http://www.microchip.com/Microchip.WWW.SecureSoftwareList/secsoftwaredo= wnload.aspx?device=3Den010014&lang=3Den&ReturnURL=3Dhttp://www.microchip.co= m/stellent/idcplg?IdcService=3DSS_GET_PAGE&nodeId=3D1406&dDocName=3Den01001= 4# >>> >>> According to that document openadc for the "PIC18CXX2, PIC18FXX2, >>> PIC18FXX8, PIC18FXX39" has two parameters, config and config2. Each of >>> which is a bitmask created by anding values from various categories. So >>> your OpenADC call should be. >>> >>> OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_8ANA_0REF , ADC_CH1 & ADC_I= NT_OFF ); >>> >>>> Delay10TCYx( 5 ); >>>> >>>> ConvertADC(); >>>> >>>> while( BusyADC() ){ >>>> result =3D ReadADC(); >>>> >>> umm you should be waiting until the ADC stops being busy before reading= it. >>>> if(result<=3D512){ >>>> LATBbits.LATB6 =3D 1; >>>> Delay10TCYx( 5 );} >>>> } >>>> } >>>> >>>> Internal ADC of this device is 10bits thus should provide a value >>>> between 0-1023. Threshold is chosen exactly in the middle thus I can >>>> check if the routine works by applying 0V and 5V to AN0. The problem >>>> is ; it doesn't work (chinn chinn). I succeded following the same >>>> methodology at other devices from Microchip but no luck with the >>>> 18f452. I think it's an older device thus the datasheet I mentioned >>>> above might be incompatible at a point or more with latest versions of >>>> C18 and MpLabX. >>>> >>>> Exact error when compiling this unbelievable short code is ; >>>> >>>> too few arguments in function call >>>> >>>> in the OpenADC function. >>>> >>>> When checked out the C18 documents, it is clearly stated that these >>>> configurations for OpenADC should suffice. >>>> >>>> I wanted to have opinions that can save me some time before I believe >>>> this thing worth digging deeper. >>>> >>>> Have a nice day. >>>> >>> -- >>> http://www.piclist.com PIC/SX FAQ & list archive >>> View/change your membership options at >>> http://mailman.mit.edu/mailman/listinfo/piclist > > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .