0%

DSP28377相关知识

DSP28377相关知识

BLDC(PWM)相关

  • 驱动的PWM中135为一组,246为一组

串口相关

  • 中断:TXINT和RXINT

中断

开启中断的步骤

#include “DSP2833x_Device.h”

#include “DSP2833x_Examples.h”

interrupt void cpu_TImer0_isr(void);//声明中断服务函数

void main()

{

//step1:初始化系统控制、PLL、看门狗、允许外设时钟

InitSysCtrl();

//step2:初始化GPIO

InitGpio();

//step3:清除所有中断,初始化PIE向量表

DINT;

InitPieCtrl(); //初始化PIE控制器

IER = 0x0000; //禁止CPU中断

IFR = 0x0000; //清除所有CPU中断标志

InitPieVectTable(); //初始化PIE中断向量表

EALLOW;

PieVectTable.TINT0 = &cpu_TImer0_isr; //重映射中断向量,指向中断服务程序

EDIS;

//step4:初始化外设模块

InitCpuTImers();

ConfigCpuTimer(&CpuTimer0,1501000000); //150MHz,周期1秒

CpuTimer0Regs.TCR.all = 0x4001; //允许定时器中断,且设置TSS为0启动定时器工作

//step5:

IER |= M_INT1; //允许CPU的INT1中断,该中断连接至TINT0

PieCtrlRegs.PIEIER1.bit.INTx7 = 1; //在PIE中断组1中允许TINT0中断

EINT; //清除全局屏蔽

ERTM; //允许全局实时中断

//step6:循环

while1);

}

interrupt void cpu_timer0_isr(void

{

CpuTimer0.InterruptCount++;

PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; //清除PIE中断组1的应答位,以便CPU再次响应

}