|
void main()
{
// Uint32 i;
//EALLOW;
// GpioMuxRegs.GPAMUX.all=0x0000;
// GpioMuxRegs.GPADIR.all=0xFFFF; // upper byte as output/low byte as input
// GpioMuxRegs.GPAQUAL.all=0x0000; // Input qualifier disabled
// EDIS;
InitSysCtrl();
DINT;
IER=0x0000; //禁止CPU中断
IFR=0x0000; //清除CPU中断标志
InitPieCtrl(); //初始化PIE控制寄存器
// InitPieVectTable();//初始化PIE中断向量表
// StopCpuTimer0();
// InitCpuTimers(); //初始化定时器相关配置
// ConfigCpuTimer(&CpuTimer0,3,1000000);
InitAdc(); //初始化ADC相关配置
// StartCpuTimer0(); //启动定时器0
// AdcRegs.ADCTRL2.bit.RST_SEQ1=1; //复位序列发生器
// AdcRegs.ADCTRL2.bit.SOC_SEQ1=1; //进入定时器0一次,启动一次定时器中断
IER|=M_INT1; //开CPU中断
EINT; //使能全局中断
ERTM; //使能实时中断
EnableInterrupts();
// PieCtrlRegs.PIEIER1.bit.INTx7=1;//使能CPU定时器0 PIE中断
PieCtrlRegs.PIEIER1.bit.INTx6=1;//使能PIE中断中ADC中断
for(;;)
{
AdcRegs.ADCTRL2.bit.RST_SEQ1=1; //复位序列发生器
AdcRegs.ADCTRL2.bit.SOC_SEQ1=1; //进入定时器0一次,启动一次定时器中断
while(AdcRegs.ADCST.bit.INT_SEQ1== 0){}
asm(" RPT #11 || NOP "); //延时11+1=12个时钟周期
// asm(" RPT #11 || NOP "); //延时11+1=12个时钟周期
AdcRegs.ADCST.bit.INT_SEQ1_CLR=1; //清除AD中断标志位
if(Xaddr>((Uint16 *)0x61FF))
Xaddr = (Uint16 *) (0x6100);
*Xaddr++ = (AdcRegs.ADCRESULT0>>4);
LoopCount++ ;
}
} |
|