|
|
View previous topic :: View next topic |
Author |
Message |
suardi
Joined: 04 May 2010 Posts: 2 Location: MALAYSIA
|
setting adc vref |
Posted: Tue May 04, 2010 9:45 pm |
|
|
Compiler version 4.057
I'm trying to configure vref for the adc but the compiler give me error.
The error is: setup_adc_ports(RA0_RA1_RA3_ANALOG);
That line I took from the CCS help.
Any idea how to configure vref? I don't want to use the 5V vref cause
my input volt range from 0 to 2V.
Code: |
#include <18F4550.h>
#DEVICE ADC=8
#include <math.h>
//configure a 20MHz crystal to operate at 48MHz
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#use rs232(baud=19200, xmit=PIN_B6, rcv=PIN_B7,errors,INVERT)
void main() {
unsigned int8 i, value, min, max;
printf("Sampling:"); // Printf function included in RS232 library
setup_adc_ports( RA0_RA1_RA3_ANALOG );
setup_adc(ADC_CLOCK_INTERNAL); // Built-in A/D setup function
set_adc_channel(0); // Built-in A/D setup function
do {
min=255;
max=0;
for(i=0; i<=30; ++i) {
delay_ms(100); // Built-in delay function
value = read_adc(); // Built-in A/D read function
if(value<min)
min=value;
if(value>max)
max=value;
}
printf("\r\nMin: %2X Max: %2X\n\r",min,max);
} while (TRUE);
}
|
|
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Wed May 05, 2010 12:37 am |
|
|
Quote: |
The error is: setup_adc_ports(RA0_RA1_RA3_ANALOG);
|
The parameters used for that function can vary, according to the PIC
family. The one above is for the 16F877. Look in the 18F4550.h file
to see the available parameters for that PIC. There is a list of them
in the file (near the end) in this section:
Quote: |
// Constants used in SETUP_ADC_PORTS() are:
|
Here's the file location on your PC:
Quote: |
c:\program files\picc\devices\18f4550.h |
|
|
|
suardi
Joined: 04 May 2010 Posts: 2 Location: MALAYSIA
|
|
Posted: Wed May 05, 2010 1:47 am |
|
|
thanks PCM, i finally get it worked.
this is from the .h file :
Quote: |
// The following may be OR'ed in with the above using |
#define VSS_VDD 0x00 // Range 0-Vdd
#define VREF_VREF 0x30 // Range VrefL-VrefH
#define VREF_VDD 0x20 // Range VrefL-Vdd
#define VSS_VREF 0x10 // Range 0-VrefH
|
and this is my setup(vref is connected to pin RA3):
Quote: |
setup_adc_ports(AN0|VSS_VREF);
|
thanks again. |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|