⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zl_main.c

📁 2812设计源码 ADC 模块编程必须首先设置时钟
💻 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 + -