DE2 NIOS ucos2/ucgui (with usb mouse)
usb mouse ref : http://www.myfpga.org/discuz/viewthread.php?tid=34&extra=page%3D1
一、功能說明
主要包函3個task
(1)ccd_snapshot_task (更新影像層圖片)
(2)task_ucgui (osd層執行ucgui的DIALOG_Radio Sample)
(3)usb_mouse_task(處理usb mouse polling之輸入,再由GUI_MOUSE_StoreState函式設定鼠標)
二、編譯說明
(1)設定支持ucos2及mouse
GUIConf.h
#define GUI_OS (1)
#define GUI_SUPPORT_CURSOR (1)
編譯產生libucguios.a
(2)於nios project中加入library及include路徑
三、顯示鼠標
void task_ucgui(void* pdata) {
GUI_Init();
GUI_CURSOR_Select(&GUI_CursorArrowS);
GUI_CURSOR_SetPosition(160,120);
GUI_CURSOR_Show();
WM_SetCallback(WM_HBKWIN, &_cbBkWindow);
WM_SetCreateFlags(WM_CF_MEMDEV); /* Use memory devices on all windows to avoid flicker */
while (1) {
GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);
GUI_Delay(1000);
}
}
四、傳送滑鼠座標
while(MOUSE_PollStatus(MsHandle, &X, &Y, &PressedMask)){
//while(MYMOUSE_GetPosition(&X, &Y, &PressedMask)){
if (PressedMask){
printf("[APP]X=%d, Y=%d, PressedMask=%02Xh\r\n", X,Y, PressedMask);
}else{
printf("[APP]X=%d, Y=%d\r\n", X,Y);
}
GUI_PID_STATE State;
State.x = X;
State.y = Y;
State.Pressed = PressedMask;
GUI_MOUSE_StoreState(&State);
}


浙公网安备 33010602011771号