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

📄 main1.c

📁 F2812实现电机控制源程序.rar
💻 C
字号:

#include "DSP28_Device.h"



Uint16	  	volume;
int ADbuf[500];
int DA_wptr,DA_rptr,y;
int play_mode;//模式选择,录音还是放音。为0是连续放音,警报声;选1是边录音边放。


unsigned int * SIAdd  = (unsigned int *) 0x4600;
//bit0->CS  bit1->Data  bit2->SCLK


void main(void)
{
	Uint16	temp,i;
	/*初始化系统*/
	InitSysCtrl();

	/*关中断*/
	DINT;
	IER = 0x0000;
	IFR = 0x0000;
	/*初始化PIE*/
	InitPieCtrl();

	/*初始化PIE矢量表*/
	InitPieVectTable();	
	InitPeripherals();	
  
	InitAic23();	
	delay(500);
   // volume=108;
   // WriteAic23(L_HEADPHONE_VOLUME,0x0180+volume);   
	
	EALLOW;	// This is needed to write to EALLOW protected registers
	PieVectTable.MRINTA = &ISRMcbspSend;
	EDIS;   // This is needed to disable write to EALLOW protected registers
	IER |= M_INT6;
	PieCtrl.PIEIER6.bit.INTx5 = 1;
	
    // Enable global Interrupts and higher priority real-time debug events:
	
	EINT;   // Enable Global interrupt INTM
	ERTM;	// Enable Global realtime interrupt DBGM
	play_mode = 0;
	* SIAdd=0x0001;

    while(1)
    	{	
    		for(temp=30000;temp>0;temp-=100)
    			{
       				for(i=0;i<2;i++)
      					{
         					y=20000;       
         					delay(temp);
         					y=-20000;       
         					delay(temp);
       					}
     			} 
     	}		 
}
interrupt void  ISRMcbspSend(void)
{
    int temp;
	PieCtrl.PIEACK.all = 0xFFFF;
	PieCtrl.PIEIFR6.bit.INTx5 = 0;
	ERTM;
        
      temp=McbspRegs.DRR1.all; 
        
      DA_rptr++;
      if(DA_rptr>=500)
            DA_rptr=0;

      ADbuf[DA_rptr]=temp;   //保存录音数据
      
      if(play_mode==0)
        McbspRegs.DXR1.all = y;//警报声的幅值              
      else
        McbspRegs.DXR1.all = temp;        //放音
	
}


//========================== NO MORE ===========================

⌨️ 快捷键说明

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