New oscilloscope

 I am having difficulty reading in the analog voltage from my A/D converter. My dad bought me a oscilloscope, and I am looking at the signals generated by the raspberry Pi to the A/D converter to see if they look right. Below is my program:

uchar get_ADC_Result(void)

{

        //10:CH0

        //11:CH1

        uchar i;

        uchar dat1=0, dat2=0;

 

        digitalWrite(ADC_CS, 0);                     <------------------- Make chip select low

 

        digitalWrite(ADC_CLK,0);

        digitalWrite(ADC_DIO,1);        delayMicroseconds(2);

        digitalWrite(ADC_CLK,1);        delayMicroseconds(2);

        digitalWrite(ADC_CLK,0);

 

        digitalWrite(ADC_DIO,1);    delayMicroseconds(2); //CH0 10

        digitalWrite(ADC_CLK,1);        delayMicroseconds(2);

        digitalWrite(ADC_CLK,0);

 

        digitalWrite(ADC_DIO,0);        delayMicroseconds(2);

        digitalWrite(ADC_CLK,1);

        digitalWrite(ADC_DIO,1);    delayMicroseconds(2);

        digitalWrite(ADC_CLK,0);

        digitalWrite(ADC_DIO,1);    delayMicroseconds(2);

 

        for(i=0;i<8;i++)

        {

                digitalWrite(ADC_CLK,1);        delayMicroseconds(2);

                digitalWrite(ADC_CLK,0);    delayMicroseconds(2);

 

                pinMode(ADC_DIO, INPUT);

                dat1=dat1<<1 | digitalRead(ADC_DIO);

        }

 

        for(i=0;i<8;i++)

        {

                dat2 = dat2 | ((uchar)(digitalRead(ADC_DIO))<<i);

                digitalWrite(ADC_CLK,1);        delayMicroseconds(2);

                digitalWrite(ADC_CLK,0);    delayMicroseconds(2);

        }

 

        digitalWrite(ADC_CS,1);                                     <-------------- Make chip select high

 

        pinMode(ADC_DIO, OUTPUT);

 

        return(dat1==dat2) ? dat1 : 0;            

}



Comments

Popular posts from this blog

Presenting my project

Conclusion

Code overview