44 #define PWM_PERIOD 500 // desired period, in us
47 void configTimer2(
void) {
48 T2CON = T2_OFF | T2_IDLE_CON | T2_GATE_OFF
59 void configOutputCompare1(
void) {
64 #if (defined(__dsPIC33E__) || defined(__PIC24E__))
67 OC1CON1 = OC_TIMER2_SRC |
71 CONFIG_RB3_AS_DIG_OUTPUT();
74 OC1CON = OC_TIMER2_SRC |
75 OC_PWM_FAULT_PIN_DISABLE;
79 void _ISR _T2Interrupt(
void) {
86 u32_temp = (u32_temp * (PR2))>> 10 ;
97 configOutputCompare1();
98 CONFIG_AN0_AS_ANALOG();
106 f_dacV = f_dacV * 3.3/(PR2+1);
110 ui16_dacValmv = f_dacV * 1000;
111 printf(
"PWM PW (us): %ld, PWM DAC voltage: %d\n",u32_pw, ui16_dacValmv);
114 printf(
"PWM PW (us): %ld, PWM DAC voltage: %4.2f\n",u32_pw, (
double) f_dacV);