Can someone tell me why this code doesnt do its job? I am new to uVision. The code should turn on the LED diodes as you turn the potentiometer. For example, if its on position 0V the first LED should be lit, and if its on position 3.3V the last one. Tnx in advance
#include <stdio.h> #include <stdlib.h> #include <LPC214x.h>
void delay(int i){ unsigned int j; for(j=0; j < i; j++); }
int main (void) { unsigned int rez; IODIR1 = 0x00FF0000; //diode postavljene kao output AD0CR = 0x00200402; //ADC1: 10-bit AIN1 @ 3MHz
while(1){ AD0CR |= 0x01000000; // start AD konverzije
while ((AD0DR1 & 0x80000000) == 0); // cekanje da se konverzija zavrsi
AD0CR &= ~0x01000000; //stop AD konverzije rez = AD0DR1 & 0x0000FFC0; if(rez < 128) IOSET1 = 1 << 16; else if(rez > 128 && rez < 256) IOSET1 = 1 << 17; else if(rez > 256 && rez < 256+128) IOSET1 = 1 << 18; else if(rez > 256+128 && rez < 512) IOSET1 = 1 << 18; else if(rez > 512 && rez < 512+128) IOSET1 = 1 << 19; else if(rez > 512+128 && rez < 768) IOSET1 = 1 << 20; else if(rez > 768 && rez < 768+128) IOSET1 = 1 << 21; else if(rez > 896 && rez < 1024) IOSET1 = 1 << 22; else IOSET1 = 1 << 23;
delay(100000); }
}
It worked, even tough I dont quite get it. I add this code
PINSEL1 = 0x01080000; // Select DAC (AOUT) & AIN1
to the source. Btw, I did read the manual many times... Tnx for your help, both!