硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2572|回复: 16
收起左侧

[emWin] 请教下,使用 LISTWHEEL 控件不能够实现数据更新 ?

  [复制链接]

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
发表于 2018-5-9 10:25:41 | 显示全部楼层 |阅读模式
本帖最后由 hpdell 于 2018-5-9 10:36 编辑

请教下,使用  LISTWHEEL 控件不能够实现数据更新 ?

101010.png

按下上图中的 OK 按钮后,显示在右边的数据没有跟新 ???????

程序如下:
//日期结构体
typedef struct
{
    char year[5];
    char month[20];
    char day[5];
}DateStruct;

DateStruct datedemo={"2018", "五月", "08"};    //日期,默认初始化为2018年05月08日

u8 listwheelindex[3];   //LISTWHEEL选中的项目号



//年
const char *_apYear[]=
{
        "1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997", "1998", "1999",
        "2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009",
        "2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019",
        "2020", "2021", "2022", "2023", "2024", "2025", "2026", "2027", "2028", "2029",
        "2030", "2031", "2032", "2033", "2034", "2035", "2036", "2037", "2038", "2039",
        "2040", "2041", "2042", "2043", "2044", "2045", "2046", "2047", "2048", "2049",
        "2050", "2051", "2052", "2053", "2054", "2055", "2056", "2057", "2058", "2059",
        "2060", "2061", "2062", "2063", "2064", "2065", "2066", "2067", "2068", "2069",
        "2070", "2071", "2072", "2073", "2074", "2075", "2076", "2077", "2078", "2079",
        "2080", "2081", "2082", "2083", "2084", "2085", "2086", "2087", "2088", "2089",
        "2090", "2091", "2092", "2093", "2094", "2095", "2096", "2097", "2098", "2099",
};



const char *_apMonth_CN[]=
{
    "一月",    "二月",  "三月",    "四月",
    "五月",    "六月",  "七月",    "八月",
    "九月",    "十月",  "十一月", "十二月",
};



//日
const char *_apDay[]=
{
        "01", "02", "03", "04", "05", "06",
        "07", "08", "09", "10", "11", "12",
        "13", "14", "15", "16", "17", "18",
        "19", "20", "21", "22", "23", "24",
        "25", "26", "27", "28", "29", "30",
        "31",
};



// ID 号自定义
#define ID_FRAMEWIN_0 (GUI_ID_USER + 0x00)
#define ID_BUTTON_0 (GUI_ID_USER + 0x01)
#define ID_TEXT_0 (GUI_ID_USER + 0x02)
#define ID_TEXT_1 (GUI_ID_USER + 0x03)
#define ID_TEXT_2 (GUI_ID_USER + 0x04)
#define ID_TEXT_3 (GUI_ID_USER + 0x05)
#define ID_LISTWHEEL_0 (GUI_ID_USER + 0x06)
#define ID_LISTWHEEL_1 (GUI_ID_USER + 0x07)
#define ID_LISTWHEEL_2 (GUI_ID_USER + 0x08)


static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] =
{
        { FRAMEWIN_CreateIndirect, "ListWheel sample", 0,  0, 0, 1024, 600, 0},
        { BUTTON_CreateIndirect, "Button", ID_BUTTON_0, 192, 150, 100, 40, 0, 0x0, 0 },
        { TEXT_CreateIndirect, " year        month      day", ID_TEXT_3, 12, 5, 156, 20, 0, 0x64, 0 },
        { TEXT_CreateIndirect, "Text", ID_TEXT_0, 190, 40, 51, 20, 0, 0x64, 0 },
        { TEXT_CreateIndirect, "Text", ID_TEXT_1, 190, 60, 66, 20, 0, 0x64, 0 },
        { TEXT_CreateIndirect, "Text", ID_TEXT_2, 190, 80, 53, 20, 0, 0x64, 0 },
        { LISTWHEEL_CreateIndirect, "Listwheel", ID_LISTWHEEL_0, 10, 30, 50, 150, 0, 0x0, 0 },
        { LISTWHEEL_CreateIndirect, "Listwheel", ID_LISTWHEEL_1, 60, 30, 80, 150, 0, 0x0, 0 },
        { LISTWHEEL_CreateIndirect, "Listwheel", ID_LISTWHEEL_2, 140, 30, 30, 150, 0, 0x0, 0 },
};



//在LISTWHEEL0上绘制红色指示行
static int ListWheel0_OwnerDraw(const WIDGET_ITEM_DRAW_INFO *pDrawItemInfo)
{
    switch(pDrawItemInfo->Cmd)
    {
        case WIDGET_ITEM_DRAW_OVERLAY:
            GUI_SetColor(GUI_BLUE);
            GUI_DrawHLine(60,0,50);
            GUI_DrawHLine(90,0,50);
            break;
        default:
            return LISTWHEEL_OwnerDraw(pDrawItemInfo);
    }
    return 0;
}



//在LISTWHEEL1上绘制红色指示行
static int ListWheel1_OwnerDraw(const WIDGET_ITEM_DRAW_INFO *pDrawItemInfo)
{
    switch(pDrawItemInfo->Cmd)
    {
        case WIDGET_ITEM_DRAW_OVERLAY:
            GUI_SetColor(GUI_BLUE);
            GUI_DrawHLine(60,0,80);
            GUI_DrawHLine(90,0,80);
            break;
        default:
            return LISTWHEEL_OwnerDraw(pDrawItemInfo);
    }
    return 0;
}


//在LISTWHEEL2上绘制红色指示行
static int ListWheel2_OwnerDraw(const WIDGET_ITEM_DRAW_INFO *pDrawItemInfo)
{
    switch(pDrawItemInfo->Cmd)
    {
        case WIDGET_ITEM_DRAW_OVERLAY:
            GUI_SetColor(GUI_BLUE);
            GUI_DrawHLine(60,0,30);
            GUI_DrawHLine(90,0,30);
            break;
        default:
            return LISTWHEEL_OwnerDraw(pDrawItemInfo);
    }
    return 0;
}



//对话框回调函数
static void _cbDialog(WM_MESSAGE * pMsg)
{
    WM_HWIN hItem;
    int     NCode;
    int     Id;

        static u8 LineHeight=30;

    u8 i=0;
    switch (pMsg->MsgId)
    {
                        
        case WM_PAINT:
                                       
                                                {
                                                        GUI_DrawGradientV(172,10,175,200,GUI_RED,GUI_BLUE);            //绘制垂直梯度填充矩形
                                                        GUI_SetColor(GUI_WHITE);                                    //设置为白色
                                                        GUI_SetFont(&GUI_FontHZ16 );                                 //设置字体 GUI_Font16B_ASCII

                                                       // 显示初值及更新显示
                                                        GUI_DispStringAt(datedemo.year,230,40);         //显示年   更新显示没有反应 ??????????????
                                                        GUI_DispStringAt(datedemo.month,230,60);        //显示月   更新显示没有反应 ??????????????
                                                        GUI_DispStringAt(datedemo.day,230,80);          //显示日   更新显示没有反应 ??????????????

                                                        printf("%s年%s月%s日\n", datedemo.year,datedemo.month,datedemo.day);   // 使用串口输出,调节后的数据是正确的

            break;                        

        case WM_INIT_DIALOG:
            //初始化FRAMWIN
            hItem = pMsg->hWin;
            FRAMEWIN_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
            FRAMEWIN_SetFont(hItem, GUI_FONT_32B_ASCII);
            FRAMEWIN_SetTextColor(hItem,GUI_YELLOW);
            FRAMEWIN_SetText(hItem, "hpdell  ListWheel");
                                    _hFrame = hItem;
                                                //重绘客户区颜色
                                                FRAMEWIN_SetClientColor(_hFrame, GUI_GRAY_AA );  //GUI_GRAY_50 按下 "OK" , "Cancel" 后
                                                                                //进行颜色改变测试                                

            //初始化LISTWHEEL
            for(i=0;i<3;i++)
            {   
                hItem=WM_GetDialogItem(pMsg->hWin, ID_LISTWHEEL_0+i);
                LISTWHEEL_SetFont(hItem,&GUI_Font16B_ASCII );           //设置字体 GUI_FontComic18B_ASCII
                LISTWHEEL_SetTextAlign(hItem,GUI_TA_VCENTER|GUI_TA_HCENTER);//对齐方式
                LISTWHEEL_SetSnapPosition(hItem,(150-LineHeight)/2);        //设置吸附的位置
                LISTWHEEL_SetLineHeight(hItem,LineHeight);                  //设置绘制数据项所使用的行高
                LISTWHEEL_SetTextColor(hItem,LISTWHEEL_CI_SEL,0xEE8822);    //设置选中的条目的文本颜色
            }
                                                
            //设置Year的LISTWHEEL
            hItem=WM_GetDialogItem(pMsg->hWin, ID_LISTWHEEL_0);
            LISTWHEEL_SetOwnerDraw(hItem,ListWheel0_OwnerDraw);         //绘制红色指示行
            for(i=0;i<GUI_COUNTOF(_apYear);i++) //添加数据项
            {
                LISTWHEEL_AddString(hItem,*(_apYear+i));
            }

            //设置Month的LISTWHEEL
            hItem=WM_GetDialogItem(pMsg->hWin, ID_LISTWHEEL_1);
            LISTWHEEL_SetOwnerDraw(hItem,ListWheel1_OwnerDraw);         //绘制红色指示行
                                                LISTWHEEL_SetFont(hItem,&GUI_FontHZ16);           //设置字体
            for(i=0;i<GUI_COUNTOF(_apMonth_CN);i++) //添加数据项
            {
                LISTWHEEL_AddString(hItem,*(_apMonth_CN+i));
            }

            //设置Day的LISTWHEEL
            hItem=WM_GetDialogItem(pMsg->hWin, ID_LISTWHEEL_2);
            LISTWHEEL_SetOwnerDraw(hItem,ListWheel2_OwnerDraw);         //绘制红色指示行
            for(i=0;i<GUI_COUNTOF(_apDay);i++) //添加数据项
            {
                LISTWHEEL_AddString(hItem,*(_apDay+i));
            }

            //初始化BUTTON
            hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0);
            BUTTON_SetFont(hItem, GUI_FONT_COMIC18B_1);
            BUTTON_SetText(hItem, "OK");

            //初始化TEXT
            hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
            TEXT_SetFont(hItem, &GUI_FontHZ16);
            TEXT_SetText(hItem, "年:");

            hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1);
            TEXT_SetFont(hItem, &GUI_FontHZ16);
            TEXT_SetText(hItem, "月:");

            hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_2);
            TEXT_SetFont(hItem, &GUI_FontHZ16);
            TEXT_SetText(hItem, "日:");
                                                
            hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_3);
                                                TEXT_SetTextColor(hItem, GUI_BLUE);
            TEXT_SetFont(hItem, &GUI_Font16B_ASCII);                                                
            break;
                                                
        case WM_NOTIFY_PARENT:
            Id    = WM_GetId(pMsg->hWinSrc);
            NCode = pMsg->Data.v;
            switch(Id)
            {
                case ID_BUTTON_0:
                    switch(NCode)
                    {
                        case WM_NOTIFICATION_CLICKED:
                            break;
                        case WM_NOTIFICATION_RELEASED:
                            WM_InvalidateWindow(pMsg->hWin);     //FRAMEWIN窗口无效,跟新显示
                            break;
                    }
                    break;
                                                                                
                case ID_LISTWHEEL_0:
                    switch(NCode)
                    {
                        case WM_NOTIFICATION_CLICKED:
                            break;
                        case WM_NOTIFICATION_RELEASED:
                            break;
                        case WM_NOTIFICATION_SEL_CHANGED:
                            hItem=WM_GetDialogItem(pMsg->hWin,ID_LISTWHEEL_0);
                            listwheelindex[0]=LISTWHEEL_GetPos(hItem);      //获取当前所选数据项的索引
                            //注意:LISTWHEEL_GetPos()只是获取到滚轮停下来所选中的那个项目编号,但是此时并没有选中这个
                            //项目,必须调用LISTWHEEL_SetSel()来选中这个项目。
                            LISTWHEEL_SetSel(hItem,listwheelindex[0]);      //设置当前所选数据项,
                            LISTWHEEL_GetItemText(hItem,listwheelindex[0],datedemo.year,5);//获取所选中的项目的文本

                                                                                                    printf("datedemo.year = %s\n", datedemo.year);
                                                                                                break;
                    }
                    break;
                                                                                
                case ID_LISTWHEEL_1:
                    switch(NCode)
                    {
                        case WM_NOTIFICATION_CLICKED:
                            break;
                        case WM_NOTIFICATION_RELEASED:
                            break;
                        case WM_NOTIFICATION_SEL_CHANGED:
                            hItem=WM_GetDialogItem(pMsg->hWin,ID_LISTWHEEL_1);
                            listwheelindex[1]=LISTWHEEL_GetPos(hItem);  //获取当前所选数据项的索引
                            LISTWHEEL_SetSel(hItem,listwheelindex[1]);  //设置当前所选数据项
                            LISTWHEEL_GetItemText(hItem,listwheelindex[1],datedemo.month,20);//获取所选中的项目的文本

                                                                                                                printf("datedemo.month = %s\n", datedemo.month);
                                                                                                break;
                    }
                    break;
                                                                                
                case ID_LISTWHEEL_2:
                    switch(NCode)
                    {
                        case WM_NOTIFICATION_CLICKED:
                            break;
                        case WM_NOTIFICATION_RELEASED:
                            break;
                        case WM_NOTIFICATION_SEL_CHANGED:
                            hItem=WM_GetDialogItem(pMsg->hWin,ID_LISTWHEEL_2);
                            listwheelindex[2]=LISTWHEEL_GetPos(hItem);  //获取当前所选数据项的索引
                            LISTWHEEL_SetSel(hItem,listwheelindex[2]);  //设置当前所选数据项
                            LISTWHEEL_GetItemText(hItem,listwheelindex[2],datedemo.day,5);//获取所选中的项目的文本
                            printf("datedemo.day = %s\n", datedemo.day);
                                                                                                
                                                                                                break;
                    }
                    break;
            }
            break;
                                                
        default:
            WM_DefaultProc(pMsg);
            break;
    }
}



//背景窗口的回调函数
static void _BkCallback(WM_MESSAGE *pMsg)  //3桌面窗口的回调函数
{
        /*
  switch (pMsg->MsgId) {
               
    case WM_PAINT:
               
                                                GUI_SetBkColor(GUI_BLUE);
                                                GUI_Clear();
            GUI_SetColor(GUI_YELLOW);
            GUI_SetFont(&GUI_Font32B_ASCII);
            GUI_DispStringAt("HPDELL LISTWHEEL DEMO",0,0);
        printf("ccc ==\n");
                        break;
               
    default:
      WM_DefaultProc(pMsg);
  }        
        */
}


/*
*********************************************************************************************************
*        函 数 名: CreateFramewin
*        功能说明: 创建对话框               
*        形    参: 无
*        返 回 值: 返回对话框句柄
*********************************************************************************************************
*/
WM_HWIN CreateFramewin(void)
{
        WM_HWIN hWin;

        hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
        return hWin;
}


void MainTask(void)
{
  static U8 cc = 0;

    if(!cc)
    {

      cc=1;

      WM_MULTIBUF_Enable(1);

                        /* 窗口自动使用存储设备 */
                        WM_SetCreateFlags(WM_CF_MEMDEV);                        
                        
                        /* 显示游标 */
                        GUI_CURSOR_Show();
                        
                WM_SetCallback(WM_HBKWIN,_BkCallback);    //设置背景窗口回调函数
                CreateFramewin();
  }
        
}


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-5-9 10:39:28 | 显示全部楼层
那一部分更新没效果,点击按钮后,不更新WM_PAINT消息?

WM_InvalidateWindow(pMsg->hWin);
回复

使用道具 举报

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
 楼主| 发表于 2018-5-9 11:30:18 | 显示全部楼层
本帖最后由 hpdell 于 2018-5-9 11:50 编辑
eric2013 发表于 2018-5-9 10:39
那一部分更新没效果,点击按钮后,不更新WM_PAINT消息?

WM_InvalidateWindow(pMsg->hWin);

你好,点击 ok 按钮后可以跟新 WM_PAINT 这个,程序也会运行进来的,只是 LCD 显示没有变化,我使用 printf 吧调节后的数据发送出来到串口显示,数据时正确的,

是不是使用框架建立的不能够使用 GUI_DispStringAt 这个函数来在客户窗口显示啊 ???????????????????????


       case WM_PAINT:
                                       
                                                        GUI_DrawGradientV(172,10,175,200,GUI_RED,GUI_BLUE);            //绘制垂直梯度填充矩形
                                                        GUI_SetColor(GUI_WHITE);                                    //设置为白色
                                                        GUI_SetFont(&GUI_FontHZ16 );                                 //设置字体 GUI_Font16B_ASCII

                                                       // 显示初值及更新显示
                                                        GUI_DispStringAt(datedemo.year,230,40);         //显示年   更新显示没有反应 ??????????????
                                                        GUI_DispStringAt(datedemo.month,230,60);        //显示月   更新显示没有反应 ??????????????
                                                        GUI_DispStringAt(datedemo.day,230,80);          //显示日   更新显示没有反应 ??????????????

                                                        printf("%s年%s月%s日\n", datedemo.year,datedemo.month,datedemo.day);   // 使用串口输出,调节后的数据是正确的, OK

            break;   

回复

使用道具 举报

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
 楼主| 发表于 2018-5-9 20:32:20 | 显示全部楼层
我增加了一个 text 控件,但是显示还是没有任何反应

        case WM_PAINT:

                                                        GUI_DrawGradientV(175,10,180,200,GUI_RED,GUI_BLUE);            //绘制垂直梯度填充矩形
                                                //        GUI_SetColor(GUI_WHITE);                                    //设置为白色
                                                //        GUI_SetFont(&GUI_FontHZ16 );                                 //设置字体 GUI_Font16B_ASCII
                                                //        GUI_DispStringAt(datedemo.year,230,40);         //显示年
                                                //        GUI_DispStringAt(datedemo.month,230,60);        //显示月
                                                //        GUI_DispStringAt(datedemo.day,230,80);          //显示日
                                                       
                                                        hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_4);
                                                        TEXT_SetFont(hItem, &GUI_FontHZ16);
                                                       
                                                        sprintf(_ymd, "%s年%s月%s日", datedemo.year,datedemo.month,datedemo.day);
                                                        TEXT_SetText(hItem, _ymd);
                                                       
                                                        printf("%s\n", _ymd);

            break;


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-5-10 03:06:21 | 显示全部楼层
hpdell 发表于 2018-5-9 11:30
你好,点击 ok 按钮后可以跟新 WM_PAINT 这个,程序也会运行进来的,只是 LCD 显示没有变化,我使用 prin ...

将函数
WM_InvalidateWindow(pMsg->hWin);
改成
WM_InvalidateWindow(WM_GetClientWindow(pMsg->hWin));是否有效果。
回复

使用道具 举报

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
 楼主| 发表于 2018-5-10 09:44:27 | 显示全部楼层
本帖最后由 hpdell 于 2018-5-10 19:12 编辑
eric2013 发表于 2018-5-10 03:06
将函数
WM_InvalidateWindow(pMsg->hWin);
改成

你好,改成 WM_InvalidateWindow(WM_GetClientWindow(pMsg->hWin));  //  这样貌似是可以了,但是不知道为什么,触发  WM_PAINT 这个消息后,在WM_PAINT这个消息里面会连续运行2次 ?????????

                case ID_BUTTON_0:
                    switch(NCode)
                    {
                        case WM_NOTIFICATION_CLICKED:
                            break;
                        case WM_NOTIFICATION_RELEASED:
                                                                                               
                                                                                             
                        WM_InvalidateWindow(WM_GetClientWindow(pMsg->hWin));  // 触发 WM_PAINT
                                                                                                //    GUI_Exec();
                            break;
                    }
                    break;




回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-5-11 00:18:55 | 显示全部楼层
hpdell 发表于 2018-5-10 09:44
你好,改成 WM_InvalidateWindow(WM_GetClientWindow(pMsg->hWin));  //  这样貌似是可以了,但是不知道 ...

运行了2次没关系,能够正常显示就行。
回复

使用道具 举报

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
 楼主| 发表于 2018-5-11 09:25:34 | 显示全部楼层
eric2013 发表于 2018-5-11 00:18
运行了2次没关系,能够正常显示就行。

现在能够正常显示了,我目前置了一个标志位,每次按下 ok按钮后就清仓标志位,

现在还有个问题,就是在滑动调节年、月、日时,屏幕显示不会跟新,但是触摸屏功能是正常的,串口也有数据输出,
此时貌似是lcd显示死掉了,不知道你们有没有预到这种情况啊 ?

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-5-11 14:30:18 | 显示全部楼层
hpdell 发表于 2018-5-11 09:25
现在能够正常显示了,我目前置了一个标志位,每次按下 ok按钮后就清仓标志位,

现在还有个问题,就是 ...

你可以这样,创建一个对话框,上面仅创建listwheel控件,然后滑动测试这个控件看看是否好用,防止是你其它功能的影响。
回复

使用道具 举报

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
 楼主| 发表于 2018-5-13 20:45:50 | 显示全部楼层
本帖最后由 hpdell 于 2018-5-13 21:40 编辑
eric2013 发表于 2018-5-11 14:30
你可以这样,创建一个对话框,上面仅创建listwheel控件,然后滑动测试这个控件看看是否好用,防止是你其 ...

你好,目前已经找到了在滑动时,显示有时会死掉的原因了,

就是使用了 WM_MULTIBUF_Enable(1); 这个句 ????

把这句屏蔽后,不管怎么滑动显示都是正常的了, 请问是怎么回事啊 ?、
貌似使用 GUI_MEMDEV_MULTIBUF_Enable 这个函数 可以,滑动时显示也都正常,
请问下,上术两个函数有什么不同啊 ?????????

emwin 使用 v5.40  argb -ot

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-5-14 00:50:28 | 显示全部楼层
hpdell 发表于 2018-5-13 20:45
你好,目前已经找到了在滑动时,显示有时会死掉的原因了,

就是使用了 WM_MULTIBUF_Enable(1); 这个句 ...

你工程的多缓冲实现应该有问题
回复

使用道具 举报

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
 楼主| 发表于 2018-5-14 10:54:33 | 显示全部楼层
eric2013 发表于 2018-5-14 00:50
你工程的多缓冲实现应该有问题

你是说我的 底层驱动有问题吗 ?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-5-15 05:24:37 | 显示全部楼层
hpdell 发表于 2018-5-14 10:54
你是说我的 底层驱动有问题吗 ?

是的
回复

使用道具 举报

692

主题

3583

回帖

5684

积分

论坛元老

积分
5684
 楼主| 发表于 2018-5-15 09:21:42 | 显示全部楼层

我的底层驱动对照过好几遍了啊,貌似也没有发现什么问题啊?

看来这个问题目前一时半会也难以解决了啊,只能以后再慢慢捣鼓了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-5-16 06:53:45 来自手机 | 显示全部楼层
hpdell 发表于 2018-5-15 09:21
我的底层驱动对照过好几遍了啊,貌似也没有发现什么问题啊?

看来这个问题目前一时半会也难以解决了啊 ...

也行,说不定那次就发现问题了。
回复

使用道具 举报

4

主题

50

回帖

62

积分

初级会员

积分
62
发表于 2018-6-8 15:19:27 | 显示全部楼层
很好,大家继续讨论,我也用过这个小工具,没有多缓冲,效果还可以吧
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-6-8 15:25:29 | 显示全部楼层
bebj2009 发表于 2018-6-8 15:19
很好,大家继续讨论,我也用过这个小工具,没有多缓冲,效果还可以吧

没问题,使能窗口使用存储设备就好了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-20 02:40 , Processed in 0.055128 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表