• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            zyzx的小窩

            C/C++,GUI,個(gè)人移動(dòng)存儲(chǔ),zyzx_lsl@163.com

             

            N(2) 串口編程過(guò)程

            tag:C++,Observer,串口編程,隱藏窗口

            /* Create By zyzx
            * Created 2008-05-30
            * Modified 2008-06-06
            */

            ??????? 在串口編程中,我們通常會(huì)碰到這樣的問(wèn)題:監(jiān)聽(tīng)端口的線程得到數(shù)據(jù)并將數(shù)據(jù)整理后,通知相應(yīng)了處理程式。。而這個(gè)過(guò)程中有兩個(gè)地方值得注意:1.監(jiān)聽(tīng)線程一次得到的數(shù)據(jù)一般是不完整的,如何拼湊成我們需要的格式是一個(gè)難點(diǎn);2.假設(shè)通過(guò)第一步,已經(jīng)得到完整的數(shù)據(jù)(C結(jié)構(gòu)或類)如何將這些信息告知UI主線程,并讓主線程做處理,而不會(huì)引起UI主線程的阻塞(表現(xiàn)出來(lái)的就是很卡)。

            ??????? 略過(guò)第一步(N(3)中再討論),第二步中最容易想到的方法是使用回調(diào)函數(shù),當(dāng)數(shù)據(jù)到達(dá)時(shí)通知(一般采用消息或事件機(jī)制防止阻塞)UI主線程去處理回調(diào)函數(shù)。
            ??????? 這樣做會(huì)帶來(lái)一些問(wèn)題:實(shí)現(xiàn)過(guò)程和UI界面耦合很緊;會(huì)增加很多全局變量,影響編程邏輯;線程之間對(duì)全局變量的存取順序(即線程通訊問(wèn)題)

            ?????? 為將端口讀寫(xiě)模塊與主應(yīng)用程序模塊分離,在編寫(xiě)端口讀寫(xiě)模塊的時(shí)候,我們不知到是誰(shuí)在使用,所以無(wú)法明確的指定哪個(gè)窗口對(duì)象獲得消息或事件。但為防止阻塞,實(shí)現(xiàn)消息或事件驅(qū)動(dòng),而又不影響主線程,我們可以由UI主線程創(chuàng)建一個(gè)隱藏的窗口(初始化時(shí)間)。這個(gè)窗口由端口讀寫(xiě)模塊來(lái)管理,COM的Read線程得到數(shù)據(jù)后并整理后通過(guò)消息或事件通知這個(gè)隱藏窗口(Socket編程中常用方法)。

            ?????? 如下圖:為整個(gè)串口處理過(guò)程。
            串口過(guò)程08-06-06.png
            注:圖中的數(shù)據(jù)結(jié)構(gòu)是地理信息結(jié)構(gòu),此處只為說(shuō)明串口通訊過(guò)程以及如何去組織這些結(jié)構(gòu)。(換成定義的指令結(jié)構(gòu),是一莫一樣的)

            偶簡(jiǎn)單定義的地信結(jié)構(gòu)如下圖:
            Geometry08-06-06.png

            posted on 2009-04-27 17:03 zyzx 閱讀(617) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++體會(huì)

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            常用鏈接

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            亚洲午夜久久久久久噜噜噜| 久久精品天天中文字幕人妻 | 亚洲一区二区三区日本久久九| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久精品国产免费一区| 久久精品人人做人人爽电影| 91久久精品视频| 伊人久久国产免费观看视频| 久久久久亚洲AV无码永不| 91精品国产91久久久久久| 一本久久免费视频| 亚洲AV无码久久精品狠狠爱浪潮 | 91精品国产91久久久久久| 国产成人无码精品久久久免费| 亚洲国产天堂久久综合| 久久AV无码精品人妻糸列| 久久国产精品99久久久久久老狼| 色综合久久综合网观看| 久久国产免费直播| 开心久久婷婷综合中文字幕| 国产精品久久永久免费| 亚洲国产精品成人久久蜜臀| 久久99精品国产99久久| 亚洲AV无码久久精品成人| 欧美伊人久久大香线蕉综合69| 久久精品这里热有精品| 亚洲午夜久久久久久久久久| 狠狠人妻久久久久久综合| 99国产精品久久久久久久成人热| 色婷婷久久综合中文久久一本| 久久久久人妻一区精品性色av| 久久亚洲av无码精品浪潮| 日本三级久久网| 午夜不卡888久久| 精品国产乱码久久久久久郑州公司| 一级女性全黄久久生活片免费 | 国产精品嫩草影院久久| 久久久久久久综合狠狠综合| 久久成人精品视频| 精品国产一区二区三区久久| 国内精品久久久久|