|

楼主 |
发表于 2020-8-13 11:06:31
|
显示全部楼层
我想实现通过点击界面上的按钮,来判定指纹识别模块是否连接成功,若成功则进行指纹匹配并识别。请问我应该怎么进行emwin的逻辑设计?用的模块是正点的LB301。
目前我自己做的是直接创建一个按钮,在按下时调用PS_GetImage()进行判别,我这样直接做界面就卡死没有动。
哇 我觉得好难啊我一个刚接触emwin的一点头绪也没有
贴一下代码:
static void _cbFinger(WM_MESSAGE* pMsg)
{
WM_HWIN hItem, hWin = pMsg->hWin;
switch(pMsg->MsgId)
{
case WM_CREATE:
WM_SetFocus(hWin);
_CreateButton(hWin, "", GUI_ID_BUTTON0, 0, 0, 40, 40, 0);
_CreateButton(hWin, "", GUI_ID_BUTTON1, 300, 180, 80, 40, 0);
hItem = WM_GetDialogItem(pMsg->hWin, GUI_ID_BUTTON0);
BUTTON_SetBitmap(hItem, BUTTON_BI_UNPRESSED, &bmreturn);
break;
case WM_PAINT:
_PaintFrame();
GUI_DispStringHCenterAt("fingerprints",FRAME_WIDTH >> 1, 0);
break;
case WM_NOTIFY_PARENT:
if(pMsg->Data.v == WM_NOTIFICATION_RELEASED)
{
int Id = WM_GetId(pMsg->hWinSrc);
switch(Id)
{
case GUI_ID_BUTTON0:
MainCreate();
break;
case GUI_ID_BUTTON1:
while(PS_GetImage() == 0xff)
{
GUI_SetColor(GUI_RED);
// GUI_Delay(400);
GUI_DispStringHCenterAt("cannot connect with LB301",FRAME_WIDTH >> 1, 0);
// GUI_Delay(800);
// GUI_DispStringHCenterAt("Try to connect again...",FRAME_WIDTH >> 1, 0);
}
GUI_DispStringHCenterAt("Connect success",FRAME_WIDTH >> 1, 0);
break;
}
}
break;
default:
WM_DefaultProc(pMsg);
}
}
我觉得我这么做肯定是不行的但是我不知道要怎么做,求求帮帮我 |
|