Salve, mi dite, meglio con un esempio come posso mettere 8 pulsanti ed a ognuno assegnare una frequenza diversa nel codice di Mauro?
Grazie
#include <p18cxxx.h>
# include <pwm.h>
# include <timers.h>
#pragma config FOSC = HS
#pragma config WDT = OFF
#pragma config LVP = OFF
#pragma config PBADEN = OFF
//OSC = HS Impostato per lavorare ad alta frequenza
//WDT = OFF Disabilitato il Watchdog Timer
//LVT = OFF Disabilitato programmazione LVT
//PBADEN = OFF Disabilitato gli ingrassi analogici
void main (void) {
int i; //Variabile usata per creare un conteggio fittizio di pausa
unsigned char period; //Periodo del segnale pwm
int duty_cycle = 0; //Duty Cycle
//Imposto PORTA tutti ingrrssi
LATA = 0x00;
TRISA = 0xFF;
//Imposto PORTB tutti ingrrssi
LATB = 0x00;
TRISB = 0xFF;
//Imposto PORTC tutti ingressi ad RC1 come uscita
LATC = 0x00;
TRISC = 0b11111101;
//Imposto PORTD tutte uscite
LATD = 0x00;
TRISD = 0x00;
//Imposto PORTE tutti ingrrssi
LATE = 0x00;
TRISE = 0xFF;
OpenTimer2 (TIMER_INT_OFF & T2_PS_1_1 & T2_POST_1_1 ); //Apro il timer2 per il pwm
period = 249; //Imposto una frequenza di 20KHz
OpenPWM2 (period); //Apro il modulo pwm
while (1) { //Ciclo infinito
SetDCPWM2 (duty_cycle); //Aggiorno il duty cycle
duty_cycle++; //Aggiorno il duty_cycle
if ( duty_cycle > 1023) { //Controllo che non sia maggiore di 2^10
duty_cycle =0;
}
}
for (i=0; i<1000; i++) {
}
}