DSP课程设计:AD+SCI 联系客服

发布时间 : 星期二 文章DSP课程设计:AD+SCI更新完毕开始阅读ccd5911d2e60ddccda38376baf1ffc4ffe47e292

//初始化cputimer InitCpuTimers(); InitSci();

/*设置中断服务程序入口地址*/ EALLOW;

// This is needed to write to EALLOW protected registers

PieVectTable.TINT2 = &ISRTimer2; PieVectTable.ADCINT = &ad;

EDIS; // This is needed to disable write to EALLOW protected registers /*开中断*/

IER |= M_INT1;//ADC中断

EINT; // Enable Global interrupt INTM ERTM; // Enable Global realtime interrupt DBGM /*启动AD采样*/ /*AD采样率*/ adconvover=0; switch(SampleRate){ }

case ADSAMPL8K: //采样率为1k

DINT;

/*设置CPU*/

ConfigCpuTimer(&CpuTimer2, 150, 1000); StartCpuTimer2(); /*开中断*/ IER |= M_INT14; EINT; InitAdc(); SampleRate = 0; break;

default:

break;

for(;;) { }

}

interrupt void ad(void) {

IFR=0x0000;

PieCtrl.PIEACK.all=0xffff; Ad_data[0] = AdcRegs.RESULT0; temp=Ad_data[0]>>4; results=(temp/4095.0)*3.0;

results=results*100;

send[3]=(int)results+0x30;

results=results/10;

send[2]=(int)results+0x30; send[1]='.';

results=results/10; }

interrupt void ISRTimer2(void) {

send[0]=(int)results+0x30; send[4]='\\n'; for(i=0;i<5;i++) {

SciaRegs.SCITXBUF =send[i]; while(!SciaTx_Ready()); }

AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;

}

串口初始化子程序 void InitSci(void) {

// Initialize SCI-A: *UART_MODE = 0x44; EALLOW;

GpioMuxRegs.GPFMUX.all = 0x0030; EDIS;

/* loopback 8 bit data */ SciaRegs.SCICCR.all = 0x07;

SciaRegs.SCICTL1.all = 0x03; SciaRegs.SCICTL2.all = 0x03;

SciaRegs.SCIHBAUD = 0x00;

SciaRegs.SCILBAUD = 0x28;//波特率为115200b/s

SciaRegs.SCICTL1.all = 0x23; PieCtrl.PIEIER9.bit.INTx1 = 1; // PieCtrl.PIEIER9.bit.INTx2 = 1; //tbd...

// Initialize SCI-B: //tbd... }