DSP28335²âÊÔ×ܽá
EALLOW;//ÔÊÐí·ÃÎÊÊܱ£»¤µÄ¼Ä´æÆ÷ CpuTimer0Regs.TCR.bit.TSS=0;//Æô¶¯¶¨Ê±Æ÷ CpuTimer0Regs.TCR.bit.TIE=1;//ʹÄܶ¨Ê±Æ÷ÖÐ¶Ï CpuTimer0Regs.PRD.all=pd;
CpuTimer0Regs.TCR.bit.TRB = 1;//ÖØÐÂ×°ÔØ¶¨Ê±Æ÷0 ºó£¬¶¨Ê±Æ÷0 µÄ¼ÆÊýֵΪÖÜÆÚ¼Ä´æÆ÷Öµ£¬¼ÆËãÆ÷¿ªÊ¼µÝ¼õ¼ÆÊý PieVectTable.TINT0 = & SampleRate;
//ÏÂÃæµÄÓï¾äÓÃÓÚʹÄÜPIE¼¶ÒÔ¼°CPU¼¶ÖжÏÏòÁ¿ IER |= M_INT1;
PieCtrlRegs.PIEIER1.bit.INTx7=1;//ʹÄÜPIEÖеÄTINT0£¬1×éµÚ7¸öÖжϣ¬¼ûÎļþDSP2833x_PieVect.c EINT;//ʹÄÜÈ«¾ÖÖÐ¶Ï EDIS; }
8£®5²ÉÓö¨Ê±Æ÷µÄÑÓʱº¯Êý
//ÑÓʱº¯Êý,¼øÓÚ¶¨Ê±Æ÷0ÒѾÓÃÓÚ²úÉúÖжϣ¬ÕâÀï²ÉÓö¨Ê±Æ÷1
//µ«¹ØÓÚ¶¨Ê±Æ÷1ÊÇ·ñ¿ÉÒÔËæÒâʹÓõÄÎÊÌâTimer³ÌÐòÎļþÓëÓ¢ÎÄ×ÊÁϵÄ˵·¨²»Ò»ÖÂ
#include \DSP2833x_Device.h\ // DSP2833x Headerfile Include File #include \DSP2833x_Examples.h\ // DSP2833x Examples Include File Uint32 TT;//ÑÓʱʱ¼ä¶ÔÓ¦¼ÆÊý´ÎÊý Uint32 RTT;//µ±Ç°¼ÆÊýÆ÷µÄÖµ
Uint32 PRD;//µ±Ç°ÖÜÆÚ¼Ä´æÆ÷µÄÖµ Uint32 CY;//ÕûÑ»·ºóµÄÓàÊý int CCY;//ÕûÑ»·´ÎÊý int ii;
void delay(float32 time) { //CpuTimer0.RegsAddr= & CpuTimer0Regs; RTT=CpuTimer1Regs.TIM.all;
CpuTimer1Regs.TCR.bit.TSS=0;//Æô¶¯¶¨Ê±Æ÷
CpuTimer1Regs.TCR.bit.TRB = 1;//ÖØÐÂ×°ÔØ¶¨Ê±Æ÷1 ºó£¬¶¨Ê±Æ÷1 µÄ¼ÆÊýÖµ
39
DSP28335²âÊÔ×ܽá
ΪÖÜÆÚ¼Ä´æÆ÷Öµ£¬¼ÆËãÆ÷¿ªÊ¼ÏòϼÆÊý if(time<0.0001) time=0.0001; else if(time>10) time=10;
TT=time*150000000;//½«ÖжÏʱ¼äת»»Îª¶¨Ê±Æ÷¼ÆÊý¸öÊý PRD=CpuTimer1Regs.PRD.all;
if(RTT>TT) //Õâ˵Ã÷µ±Ç°¼ÆÊýÆ÷µÝ¼õ¼ÆÊýδ¼õµ½0¾ÍÍê³ÉÑÓʱ {
}
do
{}while(CY>=(RTT - CpuTimer1Regs.TIM.all));
else //µ±Ç°¼ÆÊýÆ÷µÝ¼õµ½0²»×ãÒÔÍê³ÉÑÓʱ {
CY=TT-RTT; //ÑÓʱËùÐè¼ÆÊý´ÎÊý¼õÈ¥µ±Ç°¶Á³öµÄ¼ÆÊýÆ÷Öµ CCY=CY/PRD; //Ñ»·¼ÆÊý´ÎÊý
CY=CY-CCY*PRD; //ÕûÑ»·ºóµÄÊ£Óà¼ÆÊý´ÎÊý for(ii=0;ii do {}while(CpuTimer1Regs.TIM.all>30);//¼ÆÊýÆ÷µÄֵСÓÚ30¾ÍÈÏΪÒѾ¹éÁ㣬ÕâÊÇΪÁ˱£Ö¤ÒѾ£¨»ò¼´½«£©Íê³ÉµÄÕûÖÜÑ»·²»»á±»ÎóÅÐ } } } do {}while(CY>=(PRD - CpuTimer1Regs.TIM.all)); 8£®6¿´ÃŹ·³õʼ»¯º¯Êý //########################################################################### // ¿´ÃŹ·³õʼ»¯³ÌÐò,Èë¿Ú²ÎÊýΪϵͳ¶¨Ê±¸´Î»Ê±¼ä 40 DSP28335²âÊÔ×ܽá //ÔÚÐèÒª¸´Î»¿´ÃŹ·¼ÆÊýÆ÷µÄµØ·½µ÷ÓóÌÐòServiceDog() //´Ë³ÌÐòÔÚÎļþDSP2833x_SysCtrl.cÖÐ //########################################################################### //Ïêϸ˵Ã÷ÔÚ //¡¶TMS320x2833x, 2823x System Control and Interrupts Reference Guide (Rev. A)¡· //57µ½59Ò³ //¿´ÃŹ·Ê±ÖÓ·¢ÉúÆ÷:WDCLK = CLKOUT/512,µ±HALTʱֹͣ¡£ //CLKOUTΪÍⲿʱÖÓ£¬ÆµÂÊ30MHz¡£ //########################################################################### #include \DSP2833x_Device.h\ // Headerfile Include File #include \DSP2833x_Examples.h\ // Examples Include File void InitWatchDog(void) { EALLOW; // ÔÊÐí·ÃÎÊÊܱ£»¤µÄ¼Ä´æÆ÷ SysCtrlRegs.SCSR = 1;//Ñ¡Ôñ¿´ÃŹ·ÖжÏÔÊÐí EDIS; // ʹÄÜ¿´ÃŹ· EALLOW; SysCtrlRegs.WDCR &=0x3F; SysCtrlRegs.WDCR |= WDCLK=OSCCLK/512/1 //SysCtrlRegs.WDCR WDCLK=OSCCLK/512/1 //SysCtrlRegs.WDCR WDCLK=OSCCLK/512/1 //SysCtrlRegs.WDCR WDCLK=OSCCLK/512/1 //SysCtrlRegs.WDCR WDCLK=OSCCLK/512/1 //SysCtrlRegs.WDCR WDCLK=OSCCLK/512/1 //SysCtrlRegs.WDCR WDCLK=OSCCLK/512/1 |= |= |= |= |= |= 0x0028; 0x0029; 0x002A; 0x002B; 0x002C; 0x002D; //4.4//4.4//8.7//17.5//35//69.9 ºÁÃ븴λһ´Î£¬ºÁÃ븴λһ´Î£¬ºÁÃ븴λһ´Î£¬ºÁÃ븴λһ´Î£¬ºÁÃ븴λһ´Î£¬ºÁÃ븴λһ´Î£¬ºÁÃ븴λһ´Î£¬ºÁÃ븴λһ´Î£¬ 0x002E; //139.80x002F; //279.6 //SysCtrlRegs.WDCR |= WDCLK=OSCCLK/512/1 41 DSP28335²âÊÔ×ܽá EDIS; } 42

