?? main_logic.c
字號:
void Main_Logic(void)
{
/*
***************************************************************
定義局部變量
***************************************************************
*/
uint16 i=0,j=0,count,StartPage=0,StopPage=0;
uint8 temp1HC148_Output=0x07,temp2HC148_Output=0x07;
/*
***************************************************************
初始化輸入管腳
***************************************************************
*/
/*
***************************************************************
初始化項目中用到的其它硬件和變量
***************************************************************
*/
SerialCount=20; //此變量用于串口中斷函數與定時器中斷函數聯系
//AT45DB161D_Erase();
/*
***************************************************************
后臺主循環
***************************************************************
*/
while(1)
{
/*
***************************************************************
在這里完成自己的項目邏輯
***************************************************************
*/
/*for(i=0;i<=255;i++)
{
AT45DB161D_Buffer[i]=i;
}
AT45DB161D_WriteData(0,255);*/
/*AT45DB161D_ReadData(0,256);
for(i=0;i<=255;i++)
{
Uart0_SendByte(AT45DB161D_Buffer[i]);
//XiaoYanHe+=AT45DB161D_Buffer[i];
}
AT45DB161D_ReadData(1,256);
for(i=0;i<=255;i++)
{
Uart0_SendByte(AT45DB161D_Buffer[i]);
//XiaoYanHe+=AT45DB161D_Buffer[i];
}
AT45DB161D_ReadData(2,256);
for(i=0;i<=255;i++)
{
Uart0_SendByte(AT45DB161D_Buffer[i]);
//XiaoYanHe+=AT45DB161D_Buffer[i];
}
while(1)
{
wdt_reset();
}*/
/*for(j=0;j<=255;j++)
{
AT45DB161D_ReadData(j,255); //0-255
//Uart0_SendByte(j);
XiaoYanHe=0;
for(i=0;i<=255;i++)
{
//Uart0_SendByte(AT45DB161D_Buffer[i]);
XiaoYanHe+=AT45DB161D_Buffer[i];
}
Uart0_SendByte(XiaoYanHe);
delay_1ms();
}
while(1)
{
wdt_reset();
}*/
HC148_A0_Test
{
SETBIT(temp1HC148_Output,BIT0);
}
else
{
CLRBIT(temp1HC148_Output,BIT0);
}
HC148_A1_Test
{
SETBIT(temp1HC148_Output,BIT1);
}
else
{
CLRBIT(temp1HC148_Output,BIT1);
}
HC148_A2_Test
{
SETBIT(temp1HC148_Output,BIT2);
}
else
{
CLRBIT(temp1HC148_Output,BIT2);
}
if (temp1HC148_Output != HC148_Output)
{
delay_20ms();
HC148_A0_Test
{
SETBIT(temp2HC148_Output,BIT0);
}
else
{
CLRBIT(temp2HC148_Output,BIT0);
}
HC148_A1_Test
{
SETBIT(temp2HC148_Output,BIT1);
}
else
{
CLRBIT(temp2HC148_Output,BIT1);
}
HC148_A2_Test
{
SETBIT(temp2HC148_Output,BIT2);
}
else
{
CLRBIT(temp2HC148_Output,BIT2);
}
if (temp1HC148_Output == temp2HC148_Output)
{
HC148_Output=temp1HC148_Output;
}
}
if (HC148_Output==0x07) // 停止播放聲音
{
StartPage=0;
StopPage=0;
}
else if (HC148_Output==0x06) //循環播放上行聲音
{
StartPage=0;
StopPage=236;
}
else if (HC148_Output==0x05) //循環播放下行聲音
{
StartPage=300;
StopPage=547;
}
else if (HC148_Output==0x03) //循環播放上下行聲音
{
StartPage=600;
StopPage=869;
}
else if (HC148_Output==0x04) //循環播放預警鐘聲
{
StartPage=900;
StopPage=1147;
}
else
{
StartPage=0;
StopPage=0;
}
if (StopPage !=0)
{
//播放1遍聲音
count=0;
i=StartPage; //標示起始扇區
while(1)
{
AT45DB161D_ReadData(i,256);
i++;
if (i>=StopPage) //標示結尾扇區
{
break;
}
count=0;
while (1)
{
if (CHKBIT(VS1003B_PIN,VS1003B_DREQ))
{
for(j=0;j<32;j++)
{
VS1003B_WriteDAT(AT45DB161D_Buffer[count]);
count++;
}
if(count >=255)
{
break;
}
}
}
wdt_reset();
}
}
/*
***************************************************************
以下語句為喂狗程序,大部分工程都不應刪除
***************************************************************
*/
#ifdef Per_WDT
wdt_reset();
#endif
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -