在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式Linux中基于Qt/Embeded觸摸屏驅(qū)動(dòng)的設(shè)計(jì)

            嵌入式Linux中基于Qt/Embeded觸摸屏驅(qū)動(dòng)的設(shè)計(jì)

            作者: 時(shí)間:2012-05-08 來(lái)源:網(wǎng)絡(luò) 收藏


            本文引用地址:http://www.biyoush.com/article/171493.htm

            由前面鼠標(biāo)設(shè)備類的派生結(jié)構(gòu)可知,添加驅(qū) 動(dòng)接口先要通過(guò)調(diào)用QmouseDriverFactory或QmouseDriverPlugin 類根據(jù)相應(yīng)的設(shè)備名生成相對(duì)應(yīng)的 QWSCustomMouseHandler 對(duì)象,這些具體的設(shè)備 接口類都是由 QWSMouseHandler 類派生出來(lái)的,都 繼承了 QWSMouseHandler 類。然后再由系統(tǒng)調(diào)用QWSCustomMouseHandler:: readMouseData (),獲取到的定位和狀態(tài)信息都直接送到鼠標(biāo)設(shè)備類的抽象層 QWSMouseHandler 類,Qt/Embedded 通過(guò) QWSMouseHandler 類來(lái)實(shí)現(xiàn)對(duì)鼠標(biāo)設(shè)備的操作。

            可以通過(guò)兩種方式添加設(shè)備驅(qū)動(dòng)接口類,一種是 通過(guò)調(diào)用 QmouseDriverFactory 生成相應(yīng)的 QWSCustomMouseHandler,一種是由 QmouseDriverPlugin 添 加生成相應(yīng)的 QWSCustomMouseHandler。我們采用第 一種方案,在原有的接口 qwsmouselinuxtp_qws.cpp 上 進(jìn)行修改,以適合新的設(shè)備驅(qū)動(dòng)接口。

            首先,我們?cè)?qwsmouselinuxtp_qws.cpp 修改,先 把 TS_EVENT 的結(jié)構(gòu)改為相應(yīng)設(shè)備的數(shù)據(jù)結(jié)構(gòu),再把 QWSTPMouseHandlerPrivate 函數(shù)中打開(kāi)的設(shè)備 文件節(jié)點(diǎn)由/dev/ts 改為自己的設(shè)備文件/dev/ttyS1。然 后修改 readMouseData()函數(shù),按自己的數(shù)據(jù)結(jié)構(gòu) 讀取設(shè)備文件,傳遞給 QPoint 類對(duì)鼠標(biāo)進(jìn)行定位或轉(zhuǎn) 換為鼠標(biāo)按鍵狀態(tài)。這個(gè)函數(shù)的操作可以參照windows 下的鼠標(biāo)驅(qū)動(dòng)源代碼。

            其實(shí)這樣修改以后,已經(jīng)能正常使用設(shè)備 了,但是為了在該系統(tǒng)平臺(tái)上同時(shí)使用鼠標(biāo)和觸摸屏 操作還必須完成兩個(gè)步驟:一個(gè)是要正確的設(shè)置QWS_ MOUSE_PROTO 環(huán)境變量,閱讀 qwindowsystem_ qws.cpp 中 QWSServer:: openMouse () 函數(shù)可知,該環(huán) 境變量可同時(shí)設(shè)置多個(gè)設(shè)備Driver> [: Device>],多個(gè)設(shè)備之間以空格隔開(kāi),由此可設(shè)置 QWS_MOUSE_PROTO=Auto TP, Qt/Embedded 通過(guò)該環(huán)境變量生成相應(yīng)的鼠標(biāo)和觸摸屏驅(qū)動(dòng)接口,對(duì)設(shè)備進(jìn)行操作。然后再對(duì)Qt/Embedded的鼠標(biāo)驅(qū)動(dòng)接口類的源代碼進(jìn)行修改。由于觸摸屏是采用了系統(tǒng)的串口,而Qt/Embedded 自動(dòng)搜索鼠標(biāo)接口時(shí)發(fā)現(xiàn)串口正在工作中,就會(huì)把它當(dāng)作一個(gè)鼠標(biāo)設(shè)備進(jìn)行操作,這就發(fā)生了設(shè)備沖突。因此,我們要在 qmousepc_qws.cpp 文件中將串口鼠標(biāo)的子驅(qū)動(dòng)去掉,找到函數(shù) QWSPcMouseHandlerPrivate:: openDevices () 中的代碼如下,把它注釋掉就行了。

            else if (driver==Microsoft) {

            QString dev=device.isEmpty()? QString(/dev/ttyS0) : device;

            fd = open ( dev.latin1 (), O_RDWR | O_NDELAY );

            if ( fd >= 0 )

            sub[nsub++] = newQWSPcMouseSubHandler_ms(fd);

            } else if (driver==MouseSystems){

            QStringdev=device.isEmpty()?QString(/dev/ttyS0). : device;

            fd = open ( dev.latin1 (), O_RDWR | O_NDELAY );

            if ( fd >= 0 ) sub[nsub++] = new QWSPcMouseSubHandler_mous esystems (fd);

            }

            關(guān)于觸摸屏的校準(zhǔn),閱讀 qwsmouselinuxtp_qws.h 文件(代碼如下),可知在QWSMouseTPHandler 中已經(jīng)實(shí)現(xiàn)了坐標(biāo)的校準(zhǔn),一般直接讀取坐標(biāo)的位置 和狀態(tài)即可。

            class QWSLinuxTPMouseHandler:

            public QWSCalibratedMouseHandler

            {

            };

            最后只需要在配置 Qt/Embedded 的安裝configure 加入選項(xiàng)-qt-mouse-linuxtp>,重新編譯,該 Qt/Embedded平臺(tái)上的應(yīng)用程序即能夠按照定制的要求提供對(duì)觸摸屏的支持。

            4、 結(jié)束語(yǔ)

            本方案與 Qt 下普通鼠標(biāo)驅(qū)動(dòng)使用一致的框架,簡(jiǎn)潔,條理清楚。已經(jīng)成功的運(yùn)用于電能質(zhì)量監(jiān)測(cè)儀平臺(tái),并且運(yùn)行穩(wěn)定,定位準(zhǔn)確,反應(yīng)靈敏。友好的 GUI 界面和便捷的人機(jī)接口,使電能質(zhì)量檢測(cè)儀更具亮點(diǎn)。同時(shí),開(kāi)放源代碼的優(yōu)勢(shì)在此方案中得到充分的體現(xiàn),通過(guò)大量地閱讀源代碼,可以充分的理解軟件工作機(jī)制并按用戶的要求進(jìn)行定制,做出真正適合用戶的產(chǎn)品。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            linux相關(guān)文章:linux教程



            上一頁(yè) 1 2 下一頁(yè)

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉