EDF - OnePIC MCU  v1.1.0
source/16bit/OnePIC_16bit_timer.c
Go to the documentation of this file.
00001 
00013 #include "OnePIC_timer.h"
00014 #include <stdint.h>
00015 #include <p24Fxxxx.h>
00016 
00017 
00023 void EDF_TMR_ClockSourceSelect(TMR_MODULE_ID index, EDF_TMR_CLOCK_SOURCE source)
00024 {
00025     switch(index) {
00026         case TMR_1:
00027             T1CONbits.TCS = source;
00028             break;
00029         default:
00030             break;
00031     }
00032 }
00037 void EDF_TMR_StopInIdleDisable(TMR_MODULE_ID index)
00038 {
00039     switch(index)
00040     {
00041         case TMR_1:
00042             T1CONbits.TSIDL = 0;
00043             break;
00044         default:
00045             break;
00046     }
00047 }
00052 void EDF_TMR_GateDisable(TMR_MODULE_ID index)
00053 {
00054     switch(index)
00055     {
00056         case TMR_1:
00057             T1CONbits.TGATE = 0;
00058             break;
00059         default:
00060             break;
00061     }
00062 }
00068 void EDF_TMR_PrescalerSet(TMR_MODULE_ID index, EDF_TMR_PRESCALE prescaler)
00069 {
00070     switch(index)
00071     {
00072         case TMR_1:
00073             T1CONbits.TCKPS = prescaler;
00074             break;
00075         default:
00076             break;
00077     }
00078 }
00083 void EDF_TMR_Start(TMR_MODULE_ID index)
00084 {
00085     switch(index)
00086     {
00087         case TMR_1:
00088             T1CONbits.TON = 1;
00089             break;
00090         default:
00091             break;
00092     }
00093 }
00099 void EDF_TMR_Period16BitSet(TMR_MODULE_ID index, uint16_t PeriodValue)
00100 {
00101     switch(index)
00102     {
00103         case TMR_1:
00104             PR1 = PeriodValue;
00105             break;
00106         default:
00107             break;
00108     }
00109 }
00114 void EDF_TMR_Stop(TMR_MODULE_ID index)
00115 {
00116     switch(index)
00117     {
00118         case TMR_1:
00119             T1CONbits.TON = 0;
00120             break;
00121         default:
00122             break;
00123     }
00124 }
00130 void EDF_TMR_Counter16BitSet(TMR_MODULE_ID index, uint16_t value)
00131 {
00132     switch(index)
00133     {
00134         case TMR_1:
00135             EDF_TMR_Stop(index);
00136             TMR1 = value;
00137             EDF_TMR_Start(index);
00138             break;
00139         default:
00140             break;
00141     }
00142 }