Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - kaitelas

#1
Off-Topic (Read Only) / help using DAC in LPC925
March 20, 2007, 11:19:35 AM
Hello,
I'm trying to use the DAC as well as the AD in the LPC925 at the same time but I'm having some trouble initializing both of them at the same time. I can get AD1 working fine, but i can't get the DAC to work. I tried using Code Architect but it gives me some strange variables that Keil does not know what it is.
This is what code architect gives me:
void adc_init (void)
{

  // set dac1 pin to input only (disables digital output)
  P2M1 |= 0x01;
  P2M2 &= ~0x01;
  // init dac1 value to zero
  AD0DAT3 = 0x00;
  // enable dac1 output
  ADMODB |= 0x04;
  // enable adc1 (also enables dac1)
  ADCON0 |= 0x04;

}

First there is no P2 in the LPC925, so I'm guessing it meant to say P0 instead. Also, there is no AD0DAT3, i think it meant to say AD1DAT3. It also calls for ADCON0 but there is no ADCON0 in the LPC925, there is a ADCON1.
So here is my code Init code for the first two A/Ds (ADC10/P0.1 and ADC11/P0.2) and the DAC1/P.04 active at the same time. Can anyone tell me if this is correct.

void ADC_Init(void)
{
   // configure clock divider
   ADMODB |= 0x40;
   
   // set adc1 channel pin to input only (disables digital output)
   // channel 0
   P0M1 |= 0x02;
   P0M2 &= ~0x02;
   
   P0M1 |= 0x04;
   P0M2 &= ~0x04;

   P0M1 |= 0x10;
   P0M2 &= ~0x10;

   // init dac1 value to zero
   AD1DAT3 = 0x00;
   // enable dac1 output
   ADMODB |= 0x04;
   // configure adc1 and enable (also enables dac1)
   ADCON1 |= 0x44;
   
   // set isr priority to 0
   IP1 &= 0x7F;
   IP1H &= 0x7F;
   
   // enable adc interrupt
   EAD = 1;
}

Or at least where i'm making a mistake since it doesn't work. Also, if need it, i'm using the internal RC clock.
Any helps is greatly appreciated.