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

📄 util.c

📁 CCS下调试通过
💻 C
字号:
#include"myApp.h"

void initCLK( int value)
{
    int i;
    CLKMD=0;
    for(i=0;i<5;i++);
    CLKMD=value;
    for(i=0;i<5;i++);
}
void initInterrupt( void )
{
      int i; 
      asm(" ssbx INTM");
      i= PMST; 		      
	  PMST =i&0xff;
	  IMR=0x30;
	  IFR=0xff;
	  asm(" rsbx INTM");	
}
void initMcBSP0( void )
{
  
  SPSA0=SPCR1;
  SPSD0=0x0000;
  SPSA0=SPCR2;
  SPSD0=0x0000;
  
  SPSA0=RCR1;
  SPSD0=0xa0;
  
  SPSA0=RCR2;
  SPSD0=0xa0;
  
  SPSA0=XCR1;
  SPSD0=0xa0;
  
  SPSA0=XCR2;
  SPSD0=0xa0;
  
  SPSA0=SRGR1;
  SPSD0=0x1f00;
  
  SPSA0=SRGR2;
  SPSD0=0x3f;
  
  
  
  SPSA0=PCR;
 // SPSD0=0x8f;
   SPSD0=0x8f;
  
  SPSA0=SPCR2;
  SPSD0=0x2c1;
  
  SPSA0=SPCR1;
  SPSD0=0x2001;
  
}

void initAIC23( void )
{
	// Reset the AIC23 and turn on all power
    AIC23_Write(AIC23_RESET_REG, 0);
    AIC23_Write(AIC23_POWER_DOWN_CTL, 0);    
        
    // Set up paths and volume control
    //AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC | ANAPCTL_INSEL | ANAPCTL_MICB);
    AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC  );
    //AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC | ANAPCTL_INSEL);
    AIC23_Write(AIC23_DIGITAL_AUDIO_CTL, 0);
    
    // Turn on volume for line inputs
    AIC23_Write(AIC23_LT_LINE_CTL, 0x17);
    AIC23_Write(AIC23_RT_LINE_CTL,0x17);

    // Configure the AIC23 for master mode, 44.1KHz stereo, 16 bit samples
    // Use 12MHz USB clock
    AIC23_Write(AIC23_DIGITAL_IF_FORMAT, DIGIF_FMT_LRP|DIGIF_FMT_MS | DIGIF_FMT_IWL_16 | DIGIF_FMT_FOR_DSP  );
    AIC23_Write(AIC23_SAMPLE_RATE_CTL, SRC_SR_08 /*| SRC_BOSR | SRC_MO*/);
    //AIC23_Write(AIC23_SAMPLE_RATE_CTL, SRC_SR_44 );
    // Turn on headphone volume and digital interface
   // AIC23_Write(AIC23_LT_HP_CTL, 0x79);  // 0x79 for speakers
  //  AIC23_Write(AIC23_RT_HP_CTL, 0x79);
    AIC23_Write(AIC23_DIG_IF_ACTIVATE, DIGIFACT_ACT);
     

}
void initAIC23_1( void )
{
	// Reset the AIC23 and turn on all power
    AIC23_Write(AIC23_RESET_REG, 0);
    AIC23_Write(AIC23_POWER_DOWN_CTL, 0);    
        
    // Set up paths and volume control
    //AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC | ANAPCTL_INSEL | ANAPCTL_MICB);
    AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC  );
    //AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC | ANAPCTL_INSEL);
    AIC23_Write(AIC23_DIGITAL_AUDIO_CTL, 0);
    
    // Turn on volume for line inputs
    AIC23_Write(AIC23_LT_LINE_CTL, 0x17);
    AIC23_Write(AIC23_RT_LINE_CTL,0x17);

    // Configure the AIC23 for master mode, 44.1KHz stereo, 16 bit samples
    // Use 12MHz USB clock
    AIC23_Write(AIC23_DIGITAL_IF_FORMAT, DIGIF_FMT_LRP|DIGIF_FMT_MS | DIGIF_FMT_IWL_16 | DIGIF_FMT_FOR_DSP  );
    AIC23_Write(AIC23_SAMPLE_RATE_CTL, SRC_SR_08 | SRC_BOSR | SRC_MO);
    //AIC23_Write(AIC23_SAMPLE_RATE_CTL, SRC_SR_44 );
    // Turn on headphone volume and digital interface
   // AIC23_Write(AIC23_LT_HP_CTL, 0x79);  // 0x79 for speakers
  //  AIC23_Write(AIC23_RT_HP_CTL, 0x79);
    AIC23_Write(AIC23_DIG_IF_ACTIVATE, DIGIFACT_ACT);
     

}
void initMcBSP1( void )/*configuation the McBSP1 as SPI mode*/
{
    int i;
    SPSA1=SPCR1;
    SPSD1=0;     /*reset rev */
    SPSA1=SPCR2; /*reset xtm*/
    SPSD1=0;
    SPSA1=SPCR1;
    SPSD1=0x1800;
    SPSA1=RCR1;
    SPSD1=0x40;
    SPSA1=XCR1;
    SPSD1=0x40;
    SPSA1=SRGR2;
    SPSD1=0x2000;
    SPSA1=SRGR1;
    SPSD1=0xff;
    SPSA1=XCR2;
    SPSD1=0x0;
    SPSA1=RCR2;
    SPSD1=0x0;
    SPSA1=PCR;
    SPSD1=0xA08;//a0a
    SPSA1=SPCR2;
    SPSD1=SPSD1|0x40;
    for(i=0;i<10;i++);
    SPSA1=SPCR1;
    SPSD1=SPSD1|0x1;     /*reset rev */
    SPSA1=SPCR2;         /*reset xtm*/
    SPSD1=SPSD1|0x1;
    for(i=0;i<10;i++);

}
void AIC23_Write(unsigned short regaddr, unsigned short data)
{
	int i,j;
	j= regaddr*0x200+data;
	
	SPSA1=SPCR2;
	for(i=SPSD1&0x2;i==0;i=SPSD1&2);
	DXR11=j;

}

⌨️ 快捷键说明

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