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

📄 driver.c

📁 基于s3c44b0x(ARM7)的实现mp3播放功能的MP3DECODETEST.rar
💻 C
字号:
#include "def.h"
#include"44b.h"

U8 KeyPLAY_Count=0,KeyNEXT_Count=0,KeyVOLUP_Count=0,KeyVOLDN_Count=0,Key_Num=0,KeyPressed=0;

void KeyBoard_init(void)
{
   rPCONE&=0x20055;     //设置端口的工作模式
   rPUPE&=0x0f;         //使用端口的上拉电阻
}

U8 KeyBoard_Scan(void)  //定义键盘扫描函数并确认按键后发送键码  
{
   KeyBoard_init();   //初始化键盘I/O口
   
   if(((!(rPDATE&PLAY))|(!(rPDATE&NEXT))|(!(rPDATE&VOLUP))|(!(rPDATE&VOLDN)))&&!KeyPressed)
     {
        if(!(rPDATE&PLAY))
          {
            KeyPLAY_Count=(KeyPLAY_Count + 1)%2;
            if(!KeyPLAY_Count)
              {Key_Num=PLAY;KeyPressed=1;}
            KeyNEXT_Count=0;KeyVOLUP_Count=0;KeyVOLDN_Count=0;
          }
 
        else if(!(rPDATE&NEXT))
              {
                 KeyNEXT_Count=(KeyNEXT_Count + 1)%2;
                 if(!KeyNEXT_Count)
                   {Key_Num=NEXT;KeyPressed=1;}
                 KeyPLAY_Count=0;KeyVOLUP_Count=0;KeyVOLDN_Count=0;
              }
              
              else if(!(rPDATE&VOLUP))    
                    {
                       KeyVOLUP_Count=(KeyVOLUP_Count + 1)%2;
                       if(!KeyVOLUP_Count)
                         {Key_Num=VOLUP;KeyPressed=1;}
                          KeyPLAY_Count=0;KeyNEXT_Count=0;KeyVOLDN_Count=0;
                    
                    }
                   else 
                         {
                            KeyVOLDN_Count=(KeyVOLDN_Count + 1)%2;
                            if(!KeyVOLDN_Count)
                              {Key_Num=VOLDN;KeyPressed=1;}
                            KeyPLAY_Count=0;KeyNEXT_Count=0;KeyPLAY_Count=0;
                         }    
     }
   if(((rPDATE&PLAY)&&(rPDATE&NEXT)&&(rPDATE&VOLUP)&&(rPDATE&VOLDN))&&KeyPressed)
     {KeyPressed=0;return(Key_Num);} 
     
   return(0); 
}

void KeyBoard(void) 
{

}


/*
void Play_Pause(void)
{
    rBDICNT0 &= 0xffefffff;            //enable  
    rBDCON0   = (0x1<<2);              //Enable DMA 
	rIISCON   = 0;                     //Tx DMA
	INTS_OFF();                        //Disable interrupt in PSR 
	while(1){ 
	if(KeyBoard_Scan()==PLAY)   
	 { 
	   BDMA0_init();       //DMA初始化
   	   IIS_init();         //IIS接口初始化
   	   INT_init();         //中断初始化
   	   BDMA0_start();      //启动DMA传送
   	   break;
   	 } 
    }
} 
*/  

void Volume_UP(U8 volume)
{
    rPDATC&=~PCM1770_MS;     
    SendSIOData(0x01);  SendSIOData(volume);   
    rPDATC|=PCM1770_MS; Delay(1);
    
    rPDATC&=~PCM1770_MS;
    SendSIOData(0x02);  SendSIOData(volume);   
    rPDATC|=PCM1770_MS; Delay(1);
}
void Volume_DN(U8 volume)
{
    rPDATC&=~PCM1770_MS;     
    SendSIOData(0x01);  SendSIOData(volume);   
    rPDATC|=PCM1770_MS; Delay(1);
    
    rPDATC&=~PCM1770_MS;
    SendSIOData(0x02);  SendSIOData(volume);   
    rPDATC|=PCM1770_MS; Delay(1);
}

⌨️ 快捷键说明

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