関数 | 変数

C:/PIC/OpenSSM/libadc.c

#include <p24FJ64GA002.h>
#include "types.h"
#include "librtc.h"
#include "libadc.h"
libadc.cのインクルード依存関係図

ソースコードを見る。

関数

void __attribute__ ((interrupt, auto_psv))
void ADC_init (void)

変数

ADC_T adc

関数

void __attribute__ ( (interrupt, auto_psv)   ) 

libadc.c45 行で定義されています。

参照先 ADC::adc, rtc, RTC_get_ticks(), と RTC::tick.

{
    IFS0bits.AD1IF = 0;

    /* LPF */
    adc.adc[0] = (ADC1BUF0 + ADC1BUF3 + ADC1BUF6 + ADC1BUF9) >> 2;
    adc.adc[1] = (ADC1BUF1 + ADC1BUF4 + ADC1BUF7 + ADC1BUFA) >> 2;
    adc.adc[2] = (ADC1BUF2 + ADC1BUF5 + ADC1BUF8 + ADC1BUFB) >> 2;

#ifndef ADC_LOWMEM
    adc.cycle = RTC_get_ticks(adc.last, rtc.tick);
    adc.last = rtc.tick;
#endif

    return;
}

関数の呼び出しグラフ:

void ADC_init ( void   ) 

libadc.c66 行で定義されています。

参照先 rtc, と RTC::tick.

参照元 main().

{
    
#ifndef ADC_LOWMEM
    adc.last = rtc.tick;
    adc.cycle = 0xffff;
#endif

    /* 内蔵ADC */
    /*          FEDCBA9876543210 */
    AD1CON1 = 0b1000000011100101;
    AD1CON2 = 0b0000010000110000;
    AD1CON3 = 0b0001111111111111;
    AD1PCFG = 0b1111111111111000;
    AD1CSSL = 0b0000000000000111;
    AD1CHS  = 0b0000000000000000;

    IPC3bits.AD1IP = 1;
    IEC0bits.AD1IE = 1;
    IFS0bits.AD1IF = 0;

    return;
}

呼出しグラフ:


変数

libadc.c34 行で定義されています。

参照元 main().