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

📄 adc.c

📁 DSP的AD转换程序
💻 C
字号:
//#include "DSP28_Device.h"
/*#include "DSP28_Adc.h"
interrupt void adc_isr(void);

//全局变量定义:
Uint16 LoopCount = 5;
Uint16 Count=1;
float V[100]={0,0,0,0,0,0,0,0};

 
void main (void)
{
 
//初始化系统控制寄存器 、PLL、看门狗和时钟
 InitSysCtrl();

//时钟初始化HSPCLK=SYSCLKOUT/6=75MHz
 EALLOW;
 SysCtrlRegs.HISPCP.all=0x0;
 EDIS;

//GPIO设置
 InitGpio();

//初始化PIE相量表
//禁止和清除所有CPU中断
 DINT;
 IER=0x0000;
 IFR=0x0000;
 InitPieCtrl();
 InitPieVectTable();

//初始化外设模块
 InitAdc();

//重新分配中断向量
 EALLOW;
 PieVectTable.ADCINT=&adc_isr;
 EDIS;

//使能PIE中的ADCINT中断
 PieCtrl.PIEIER1.bit.INTx6=1;

//使能CPU中断
 IER|=M_INT1;    //使能全局中断INT1

 //使能全局中断和高优先级适时调试功能
 EINT;       //使能全局中断INTM
 ERTM;         //使能全局适时调试中断DBGM
 AdcRegs.MAX_CONV.all=0x0000;//设置SEQ1的1转换
 AdcRegs.CHSELSEQ1.bit.CONV00=0x0A;//设置ADCINB0作为SEQ1的第一个转换
 AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1;//使能EVASOC启动SEQ1
 AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;//使能SEQ1中断

//配置时间管理器EVA
 EvaRegs.GPTCONA.bit.T1STAT=1;
 EvaRegs.T1CNT=0x0000;
 //EvaRegs.T1CMPR=0x0010;//设置T1比较值
// EvaRegs.T1CMPR=0x0080;
 EvaRegs.T1PR=0x00FF;//设置周期寄存器
 EvaRegs.GPTCONA.bit.T1TOADC=2;//通用定时器启动ADC,使能事件管理器A的EVASOC
 EvaRegs.T1CON.all=0x1042;//使能定时器1比较(递增计数模式)
//bit.T1TOADC
//等待ADC中断
 while (1)
   {
      LoopCount++;
   }


}



interrupt void adc_isr(void)
{
  V[Count]=AdcRegs.RESULT1*3.0/65520;
  
  if(Count==99)
  {
    Count=0;
  }
 else Count++;
 

//重新初始化下一个ADC排序
 AdcRegs.ADCTRL2.bit.RST_SEQ1=1;  //复位SEQ1
 AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; //清除INT SEQ1
 PieCtrl.PIEACK.bit.ACK1=1;   //响应中断//
 return;
}*/


void main()
{
	while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -