DSP28335ÖÐÎÄ×ÊÁÏ

2026/1/15 0:03:21

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


DSP28335ÖÐÎÄ×ÊÁÏ.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ
ËÑË÷¸ü¶à¹ØÓÚ£º DSP28335ÖÐÎÄ×ÊÁÏ µÄÎĵµ
Ïà¹ØÍÆ¼ö
Ïà¹ØÔĶÁ
¡Á ÓοͿì½ÝÏÂÔØÍ¨µÀ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÏÂÔØ±¾ÎĵµÐèÒªÖ§¸¶ 10 Ôª

Ö§¸¶·½Ê½£º

¿ªÍ¨VIP°üÔ»áÔ± ÌØ¼Û£º29Ôª/ÔÂ

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£ºxuecool-com QQ£º370150219