Hallo,
Ik ben al een paar dagen aan het experimenteren met een 32- bits PIC: de 32MX460F512L.
Als compiler hiervoor gebruik ik C32, met de MPLAB IDE. Naar mijn weten is dit de enige beschikbare pic32 compiler op dit moment.
Ik krijg alleen de ADC niet werkend. De bedoeling is dat dit testprogrammaatje de spanning op pin AN0 weergeeft op een LCDtje, zonder getal achter de komma (dus 0,1,2, of 3, het bereik is 0-3.3V)
De output is altijd 0.
Alle relevante code:
TRISA = 0x1111; //Voor testen heel PortA analog input maken
AD1PCFG = 0x0000;
//Init the ADC
CloseADC10();
//Config
#define PARAM1 ADC_MODULE_ON | ADC_FORMAT_INTG16 | ADC_CLK_AUTO | ADC_AUTO_SAMPLING_ON
#define PARAM2 ADC_VREF_AVDD_AVSS | ADC_OFFSET_CAL_DISABLE | ADC_SCAN_OFF |
ADC_SAMPLES_PER_INT_1 | ADC_BUF_16 | ADC_ALT_INPUT_OFF
#define PARAM3 ADC_CONV_CLK_INTERNAL_RC | ADC_SAMPLE_TIME_15
#define PARAM4 ENABLE_AN0_ANA
#define PARAM5 SKIP_SCAN_ALL
SetChanADC10( ADC_CH0_NEG_SAMPLEA_NVREF | ADC_CH0_POS_SAMPLEA_AN0);
OpenADC10( PARAM1, PARAM2, PARAM3, PARAM4, PARAM5 );
EnableADC10(); // Enable the ADC
while ( ! mAD1GetIntFlag() ) //wait if busy
while (1) {
//LSB = 3.2mV
ADCResult = ReadADC10(0);
Volts = ADCResult * 0.0032;
display(inttochar(Volts));
}
Kan iemand mij helpen?
Daan Timmer
Ik ben programmeur! geen electronicus! http://www.daantimmer.nl/ Er is een ontwerp! nu nog inhoud :-)
Ik begrijp dat je hier naar gekeken hebt?
http://ww1.microchip.com/downloads/cn/DeviceDoc/cn532639.zip
Gezien je eigen source code
Klopt!
De ADC10_basic example van Microchip zelf.
Ik heb het echter iets aangepast naar het gebruik van alleen AN0.
In de sample code zijn mij een aantal zaken onduidelijk. Zoals het gebruik van dual buffer en de 'scan mode'.
De variabele 'offset' die ze daar gebruiken is toch alleen nodig bij het gebruiken van twee buffers?
Ik maak hier allemaal geen gebruik van in mijn code, maar die werkt dus niet. Ik kom er niet uit waarom niet.
Erg weinig documentatie beschikbaar voor PIC32. 
Ik gebruik trouwens onderstaand boardje (alleen hardware, software vervangen door mijn eigen brouwsels):
http://www.schmalzhaus.com/UBW32/
Op 2 mei 2009 14:36:30 schreef Neen:
Hallo,Ik ben al een paar dagen aan het experimenteren met een 32- bits PIC: de 32MX460F512L.
Als compiler hiervoor gebruik ik C32, met de MPLAB IDE. Naar mijn weten is dit de enige beschikbare pic32 compiler op dit moment.
Bij codesourcery.com kun je een MIPS GCC compiler downloaden voor Windows. Die zou ook moeten werken voor de PIC32. Je moet alleen even opletten of de PIC32 little of big endian is.
http://www.codesourcery.com/sgpp/datasheet?target_arch=MIPS&target…
De lite versie (alleen de GNU utilities) is gratis:
http://www.codesourcery.com/sgpp/lite/mips/portal/release687
Dan heb je meteen een volledige PIC32 compiler zonder beperkingen. De PIC32 compiler van Microchip is ook GCC.
Voor wat betreft de ADC:
Misschien helpt het door geen macro's te gebruiken maar eerst zelf de registers te schrijven. Eerst uitzoeken wat ieder bitje precies doet en dan stukje bij beetje de macro's uitzoeken.
Opgelost!!
Ik bekeek net dit schema (zeker niet de eerste keer):
http://www.schmalzhaus.com/UBW32/EE/v24/UBW32_v24.sch.pdf
en ik zag dat AN0 niet op pin RA0 zit, zoals ik gewend was. Draadje verwisseld en het werkt perfect.
Echt heel stom, heb er echt uren aan besteed. 
Toch bedankt. 