📄 zl_main.c
字号:
#include "DSP28_Device.h"
Uint16 i=0;
void zl_init();
void pwm();
void adc();
void qepcap();
interrupt void eva_timer1_isr(void);
interrupt void adc_isr(void);
interrupt void cap_isr(void);
void main(void){
zl_init();
EALLOW;
PieVectTable.T1UFINT = &eva_timer1_isr;
PieVectTable.ADCINT = &adc_isr;
PieVectTable.CAPINT3 = &cap_isr;
EDIS;
PieCtrlRegs.PIEIER2.all = M_INT6; //使能PIE中的T1UFINT中断
IER |= M_INT2;
PieCtrlRegs.PIEIER1.bit.INTx6 = 1; //使能PIE中的ADCINT中断
IER |= M_INT1; // CPU 中断 1,使能全部 INT1
PieCtrlRegs.PIEIER3.bit.INTx7 = 1; //使能PIE中的CAPINT3中断
IER |= M_INT3;
EALLOW;
GpioMuxRegs.GPBMUX.bit.PWM7_GPIOB0=0; //把GPIOB0设置为一般I/O口,输出
GpioMuxRegs.GPBDIR.bit.GPIOB0=1; //测试中断T1
GpioMuxRegs.GPBMUX.bit.PWM8_GPIOB1=0; //把GPIOB1设置为一般I/O口,输出
GpioMuxRegs.GPBDIR.bit.GPIOB1=1; //测试中断ad
GpioDataRegs.GPBDAT.bit.GPIOB1=0;
GpioMuxRegs.GPBMUX.bit.PWM10_GPIOB3=0; //把GPIOB3设置为一般I/O口,输出
GpioMuxRegs.GPBDIR.bit.GPIOB3=1; //测试中断qep
GpioDataRegs.GPBDAT.bit.GPIOB3=1;
GpioMuxRegs.GPBMUX.bit.PWM12_GPIOB5=0; //把GPIOB5设置为一般I/O口,输出
GpioMuxRegs.GPBDIR.bit.GPIOB5=1; //测试cap
GpioDataRegs.GPBDAT.bit.GPIOB5=1;
GpioMuxRegs.GPBMUX.bit.PWM9_GPIOB2=0; //把GPIOB2设置为一般I/O口,输出
GpioMuxRegs.GPBDIR.bit.GPIOB2=1; //测试中断cap
EDIS;
pwm();
adc();
qepcap();
EINT; // 使能全局中断 INTM
ERTM; // 使能全局实时中断 DBGM
for(i=0;i<100;i++)
GpioDataRegs.GPBDAT.bit.GPIOB5=GpioDataRegs.GPBDAT.bit.GPIOB5^1; //产生方波;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -