Professional Documents
Culture Documents
#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"
#include "lab6.h"
#include "monitorF28335.h"
int resultado[2];
double temp;
const double temp_ref=80.0;
double Ts=1.0;
void tmr0_isr(void);
void main(void)
{
/*****************************************************/
/*CONFIGURACION INICIAL*/
/*****************************************************/
DINT;
DRTM;
InitSysCtrl();
EALLOW;
SysCtrlRegs.HISPCP.all = 0x3;
EDIS;
/*****************************************************/
/*CONFIGURACION INTERRUPCIONES*/
/*****************************************************/
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
EALLOW;
// Direcciona la interrupcin TINT0 hacia la direccin &cpu_timer0_isr
PieVectTable.TINT0 = &tmr0_isr;
EDIS;
/*****************************************************/
/*CONFIGURACION ADC*/
/*****************************************************/
InitAdc();
AdcRegs.ADCTRL3.bit.ADCCLKPS = 0x4;
AdcRegs.ADCTRL1.bit.ACQ_PS = 1;
AdcRegs.ADCTRL3.bit.SMODE_SEL = 0;
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;
AdcRegs.ADCTRL1.bit.CONT_RUN = 0;
AdcRegs.ADCTRL1.bit.SEQ_OVRD = 0;
-1-
C:\Users\user\Desktop\backup usb 081215\MT418\dsp_semana_10.c sbado, 12 de diciembre de 2015 10:55 a.m.
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x00;
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x01;
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x1;
/*****************************************************/
/*CONFIGURACION TIMER*/
/*****************************************************/
/*****************************************************/
/*CONFIGURACION PWM*/
/*****************************************************/
EALLOW;
// Detiene los EPWM
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;
EDIS;
// La fase es 0
EPwm1Regs.TBPHS.half.TBPHS = 0x0000;
// Deshabilitar carga de fase
EPwm1Regs.TBCTL.bit.PHSEN = 0;
// Contador a cero
EPwm1Regs.TBCTR = 0x0000;
// Configurar shadowing
// Modo shadow (la escritura se hace sobre la sombra)
EPwm1Regs.CMPCTL.bit.SHDWAMODE = 0;
// La sincronizacin sombra->real se hace cuando el CTR es 0
EPwm1Regs.CMPCTL.bit.LOADAMODE = 0;
// Configurar acciones
// Contador es CMPA -> Pone a 0 la senal
EPwm1Regs.AQCTLA.bit.CAU = 2;
// Contador es 0 -> Pone a 1 la senal
EPwm1Regs.AQCTLA.bit.ZRO = 2;
EALLOW;
-2-
C:\Users\user\Desktop\backup usb 081215\MT418\dsp_semana_10.c sbado, 12 de diciembre de 2015 10:55 a.m.
// Sincroniza todos los EPWM y los activa
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;
EDIS;
/*****************************************************/
/*CONFIGURACION FINAL*/
/*****************************************************/
/*****************************************************/
/*BUCLE INFINITO*/
/*****************************************************/
do
{
}
while(1); //Itera infinitamente
}
// Salida
EPwm1Regs.CMPA.half.CMPA = senal_pwm_entera;
// Actualizaciones
error_anterior=error;
-3-
C:\Users\user\Desktop\backup usb 081215\MT418\dsp_semana_10.c sbado, 12 de diciembre de 2015 10:55 a.m.
-4-