Other Parts Discussed in Thread: MSP430FG4618
i'm using the msp430fg4618 experimenters board....i gave 00 to my DAC_DAT0 register....connected it to the internal opamp which acts as a voltage follower circuit....n the output of the opamp is given to the internal ADC12...
however the reading in the ADCMEM register is not zero....heres my prog:
#include "msp430fg4618.h"
void DAC12Init(void)
{
DAC12_0DAT= 0x00;
ADC12CTL0 = REF2_5V + REFON;
DAC12_0CTL = DAC12IR | DAC12AMP_5 | DAC12ENC;
}
void ADC12Init(void)
{
ADC12CTL0 &= ~ENC;
ADC12CTL0 |= SHT0_4 | ADC12ON;
ADC12CTL1 = CSTARTADD_0 ;
ADC12MCTL0 = INCH_1 | SREF_1;
ADC12CTL0 |= ENC;
ADC12CTL0 |= ADC12SC;
ADC12IE |= BIT1;
}
void OPInit()
{
OA0CTL1 |= OAFC_4 | OAFBR_0;
OA0CTL0 |= OAP_2 | OAPM_3 | OAADC1;
}
void main (void)
{
WDTCTL = WDTPW | WDTHOLD;
DAC12Init();
ADC12Init();
OPInit();
TACTL = TASSEL_1 + MC_2 + TACLR + TAIE;
_BIS_SR(GIE);
}
#pragma vector=ADC12_VECTOR
__interrupt void ADC_ISR(void)
{
int x;
x = ADC12MEM1;
ADC12CTL0 |= ADC12SC;
}
#pragma vector=TIMERA1_VECTOR
__interrupt void TimerA_ISR (void)
{
ADC12CTL0 &= ~ADC12SC;
TACTL &= ~TAIFG;
}