CCS C de ADC hızını nasıl belirliyoruz?

Başlatan GreeN, 21 Haziran 2011, 13:52:59

firatim38

yazılımsal olarak nasıl yapabilirim yardımcı olur musun? ADC kullanmıcam mı?

GreeN

Konuyu Katletmişler ama benim problemim devam ediyor;
CCS C 'de ADC hızı konusunda asm kod eklemekten başka bir yol bulamadım . Bende aşağıdaki gibi birşey ekledim.
başka bir başlık altında da belirttiğim gibi 4,25 us de bir örnek aldığını timer2 ile ölçmeye çalıştım.

ADC süresinin 1MSPS için ne olduğunu nasıl hesaplarnır? Yani asm kodu doğrumu ? bunu kontrol etmem gerek.
Elimdeki pic ile yakalayabildiğim en hızlı değeri yakalamam lazım.

//***********************ADC^CONFIG^START**************************//
/**************************1MSPS ADC CONFIG***********************************/
 #asm            
               // ADPCFG = 0xFFFB; // all PORTB = Digital; RB2 = analog
        mov #0xfffb,w0
        mov w0,0x02a8
              //  ADCON1 = 0x00E0; // SSRC bit = 111 implies internal
        mov #0xe0,w0
        mov w0,0x02a0
                 // counter ends sampling and starts
                 // converting.
                 // ADCHS = 0x0002; // Connect RB2/AN2 as CH0 input and also connectRB2/AN2
        mov #0x2,w0
        mov w0,0x02a6
               // to positive CH1 input.
               // in this example RB2/AN2 is the input to two channels.
               // ADCSSL = 0;
       clr w0
       mov w0,0x02aa
         //     ADCON3 = 0x0C04; // Sample time = 12Tad = 83.33 ns @ MIPS
       mov #0xc04,w0
       mov w0,0x02a4
               // which will give 1 / (12 * 83.33 ns) = 1 Msps
           //    ADCON2 = 0x6104; // Select external VREF+ and VREF- pins, convert CH0 and
       mov #0x6104,w0
       mov w0,0x02a2
             // CH1, Interrupt after every 2 samples
             // ADCON1bits.ADON = 1; // turn ADC ON
       bset 0x02a1,#7
#endasm
delay_ms(100);
//***********************ADC^CONFIG^END**************************//
Terörü Lanetliyoruz.