trasformare codice per pwm

12 Anni 3 Mesi fa #1 da Guido
trasformare codice per pwm è stato creato da Guido
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++) {
}

}

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Guido
  • Platinum Member
  • Platinum Member
Di più
12 Anni 3 Mesi fa - 12 Anni 3 Mesi fa #2 da Video Lab
Risposta da Video Lab al topic Re: trasformare codice per pwm

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Video Lab
  • Avatar di Video Lab
  • Premium Member
  • Premium Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login