📄 driver.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 + -