реклама на сайте
подробности

 
 
> прерывание pwm dspic30f2023
pipka
сообщение Oct 16 2009, 07:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 30-07-07
Пользователь №: 29 465



Здравствуйте, помогите разобраться почему не срабатывает прерывание ШИМ.

код(MPLAB C30):


#include <p30f2023.h>
#include "functions.h"


_FOSCSEL(FRC_PLL); //FRC with PLL
_FOSC(CSW_FSCM_OFF & FRC_HI_RANGE & OSC2_IO & HS_EC_DIS); //Clock switching is disabled,FCKSM is disabled
_FWDT(FWDTEN_OFF); //Watchdog timer off
_FPOR(PWRT_OFF); //Power-on Reset
_FICD(ICS_PGD);

int main(void)
{
init();
while(1)
{

}

}

void __attribute__((interrupt,no_auto_psv)) _PWM1Interrupt(void)
{
IFS1bits.PWM1IF=0;
asm volatile ("nop");
asm volatile ("nop");
asm volatile ("nop");
asm volatile ("nop");
asm volatile ("nop");
}


void init (void)
{

OSCTUNbits.TUN=0b0000;

//......................//

TRISA=0b0000000000000000;
TRISB=0b0000000000000000;
TRISD=0b0000000000000000;
TRISE=0b0000000000000000;
TRISF=0b0000000000000000;

PORTA=0b0000000000000000;
PORTB=0b0000000000000000;
PORTD=0b0000000000000010;
PORTE=0b0000000000000000;
PORTF=0b0000000000000000;

LATA=0b0000000000000000;
LATB=0b0000000000000000;
LATD=0b0000000000000010;
LATE=0b0000000000000000;
LATF=0b0000000000000000;

// PWM1 //

PTCONbits.PTEN=0b00;
PTCONbits.PTSIDL=0b00;
PTCONbits.SESTAT=0b00;
PTCONbits.SEIEN=0;
PTCONbits.EIPU=0b00;
PTCONbits.SYNCPOL=0b00;
PTCONbits.SYNCOEN=0b00;
PTCONbits.SYNCEN=0;
PTCONbits.SYNCSRC=0b00;
PTCONbits.SEVTPS=0b0000;
PTPER=30960;
PDC1=15480;
PWMCON1bits.FLTSTAT=0b00;
PWMCON1bits.CLSTAT=0b00;
PWMCON1bits.TRGSTAT=0b00;
PWMCON1bits.FLTIEN=0b00;
PWMCON1bits.CLIEN=0b00;
PWMCON1bits.TRGIEN=0;
PWMCON1bits.ITB=0b00;
PWMCON1bits.MDCS=0b00;
PWMCON1bits.DTC=0b10;
PWMCON1bits.XPRES=0b00;
PWMCON1bits.IUE=0b00;

FCLCON1bits.FLTMOD=0b11;
FCLCON1bits.CLMODE=0;

DTR1=0b000000000000;
IOCON1bits.PENH=1;
IOCON1bits.PENL=1;
IOCON1bits.POLH=1;
IOCON1bits.POLL=1;
IOCON1bits.PMOD=0b00;
IOCON1bits.OVRENH=0;
IOCON1bits.OVRENL=0;
PTCONbits.PTEN=1;

//настройка прерываний//

INTCON1bits.NSTDIS=1;

SRbits.IPL=0;
IPC4bits.PWM1IP=6; //interrupt priority for PWM
IFS1bits.PWM1IF=0;
IEC1bits.PWM1IE=1;

}

Спасибо.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 18:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016