?? main.c
字號:
IO2SET=0xf0000000;
IO2CLR=0x20000000; //點(diǎn)亮
TargetInit();
while (1)
{ key = ZLG7290GetKey();
if(key&0x00FF) // 如果有按鍵,則判斷是否要發(fā)送按下消息
{ if(s_key_sta==0) // 按鍵單擊
{ /* 設(shè)置消息中的按鍵值。d7位表示按鍵狀態(tài),按下為1,
放開為0;d3--d0為相應(yīng)的按鍵值。 */
s_key_in = (key-1)&0x000F; // 原按鍵值為1-16,所以要減1變?yōu)?-15
s_key_in |= 0x80;
OSMboxPost(KeyMbox, (void *)&s_key_in);
s_key_sta = 1;
}
else // 按鍵連擊
{ /* 倘若是(摸擬)鼠標(biāo)移動按鍵連擊,則需要發(fā)送按鍵按下消息 */
switch(key&0xFF)
{ case 9:
case 10:
case 11:
case 14:
s_key_in = (key-1)&0x000F;
s_key_in |= 0x80;
OSMboxPost(KeyMbox, (void *)&s_key_in);
break;
default:
break;
}
}
}
else // 如果是沒有按鍵,則判斷是否要發(fā)送放開消息
{ if(s_key_sta != 0) // 按鍵放開,則發(fā)送按鍵放開消息
{ s_key_in &= 0x0F;
OSMboxPost(KeyMbox, (void *)&s_key_in);
}
s_key_sta = 0;
}
OSTimeDly(1);
}
}
/*********************************************************************************************************
** 任務(wù)1
** 定時刷新LCD
*******************************************************************************************************/
void Task1 (void *pdata)
{
pdata=pdata;
while(1)
{
OSSemPend(Lcd_Rw_Sem,0,&err);//由ADC完成中斷服務(wù)程序提供該信號量置位,這里用定時器中斷模擬
IO2CLR=0x10000000; //點(diǎn)亮
InvalidateRect(hMainWnd1,&rcWave,FALSE); //刷新函數(shù)
}
}
/*********************************************************************************************************
** 任務(wù)2
** 心電信號發(fā)生器
*******************************************************************************************************/
void Task2 (void *pdata)
{uint16 i;
fp32 temp; //定義32位浮點(diǎn)數(shù)
while(1)
{
for(i=0;i<=999;i++)
{
OSSemPend(Adc_Rw_Sem,0,&err);
IO2SET=0xf0000000; //熄滅
temp=256-(ecg[i]+1)*120; //轉(zhuǎn)換為坐標(biāo)
x=(int)temp;
OSTimeDly(2);//實(shí)現(xiàn)鍵盤響應(yīng)!!!
OSSemPost(Lcd_Rw_Sem);
}
}
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -