This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
程序如下,执行到EINT后,for循环也没进,但执行了一次中断。
void main(void)
{
DeviceInit(); // Device Life support & GPIO
// Only used if running from FLASH
// Note that the variable FLASH is defined by the compiler
#ifdef FLASH
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
InitFlash(); // Call the flash wrapper init function
#endif //(FLASH)
// Tasks State-machine init
Alpha_State_Ptr = &A0;
A_Task_Ptr = &A1;
B_Task_Ptr = &B1;
// Initialize all the Device Peripherals:
// This function is found in DSP280x_CpuTimers.c
InitCpuTimers();
// Configure CPU-Timer 0 to interrupt every ISR Period:
// 60MHz CPU Freq, ISR Period (in uSeconds)
// This function is found in DSP280x_CpuTimers.c
ConfigCpuTimer(&CpuTimer0, 60, 1000/ISR_FREQUENCY);
StartCpuTimer0();
// Configure CPU-Timer 1,2 for background loops
ConfigCpuTimer(&CpuTimer1, 60, 1000);
ConfigCpuTimer(&CpuTimer2, 60, 50000);
StartCpuTimer1();
StartCpuTimer2();
// For the kits < Rev 1.1 -------------------------------------------------
ChSel[0]=0; // Dummy meas. avoid 1st sample issue Rev0 Picollo*/
ChSel[1]=0; // ChSelect: ADC A0-> Phase A Current
ChSel[2]=1; // ChSelect: ADC A1-> Phase B Current
ChSel[3]=2; // ChSelect: ADC A2-> DC Bus V
ChSel[4]=3; // ChSelect: ADC A3-> Temperature MOS
ChSel[5]=4; // ChSelect: ADC A4-> Temperature MOS
ChSel[6]=6; // ChSelect: ADC A4-> Handle
//-------------------------------------------------------------------------
ADC_MACRO_INIT(ChSel,TrigSel,ACQPS)
// Reassign ISRs.
// Reassign the PIE vector for TINT0 to point to a different
// ISR then the shell routine found in DSP280x_DefaultIsr.c.
// This is done if the user does not want to use the shell ISR routine
// but instead wants to use their own ISR.
EALLOW;
PieVectTable.TINT0 = &MainISR;
EDIS;
PieCtrlRegs.PIEIER1.all = M_INT7;
IER |= M_INT1;
EINT;
ERTM;
// Initialize PWM module
pwm1.PeriodMax = 3000;
pwm1.DutyFunc = 500;
BLDCPWM_INIT_MACRO(1,2,3,pwm1)
for(;;) //infinite loop
{
// State machine entry & exit point
//===========================================================
(*Alpha_State_Ptr)(); // jump to an Alpha state (A0,B0,...)
}//end for
}//end main