📄 demo.c
字号:
//Define all resgeter address and regsiter bit
//Define intrinsic functions and Inline assember portotype
//Note: this file must at the top line of any file
#include "ecc_extend.h"
#include "c_register.h"
//eSL Macro define file
#include "eSLMacro.h"
//Define all interrupt function
#include "interruptvector.h"
//Define ReadKey functions
#include "c_ReadKey.h"
#define P_init 0x00FF
void ICSleepMode(void);
int main(void)
{
unsigned int __ram readkeyRAM[4]={0,0x00FF,0,0}; //initial readKey
unsigned int __ram keyFlag=0;
//------------------------------
// I/O setting
//------------------------------
_setIO(PDIRA,0xFFFF); //set portA output(default low)
_setIO(PCON1B,0xFFFF); //set portBL pullup, wake(default high)
_setIO(PCON2B,0x5555); //set portBH output(default low)
_setIO(PCONC,0x5555); //set portC output(default low)
//------------------------------
// Audio initial
//------------------------------
c_audio_ini(); //speech and melody initial setting
c_mpwmon(); //channel 1 play from PWM On
while(1)
{
keyFlag=c_ReadKey(readkeyRAM,P_init);
if((keyFlag&0x2000)==0x2000) //detect if push
{
switch(keyFlag&0x0007)
{
case 0:
c_mstop();
c_playhead(100);
c_mvol(44);
c_mplay(_N05_ooz); //midd play
break;
case 1:
c_mstop();
c_playhead(100);
c_mvol(44);
c_mplay(_n06_ok_OOZ_rv2); //midd play
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
c_mstop(); //midd stop
break;
default:
break;
}
}
else if(c_mcheck()) //check if midd syill play
continue;
else
ICSleepMode(); //sleep
}
return 0;
}
void ICSleepMode(void) //IC sleep mode sub function
{
c_mstop();
c_playtail(100);
_setIO(PORTA,0x0000); //clear portA
_setIO(PORTB,0x0000); //clear portB
_setIO(PORTC,0x0000); //clear portC
_setIO(PORTD,0x0000); //clear portD
SLEEPMODE();
//return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -