• <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)論排行榜

            91精品国产综合久久香蕉 | 国内精品久久久久久99蜜桃| 久久99精品久久久久久不卡| 久久97精品久久久久久久不卡| AV无码久久久久不卡蜜桃| 国内精品久久久久| 中文字幕一区二区三区久久网站| 免费观看成人久久网免费观看| 99久久成人18免费网站| 青青久久精品国产免费看 | 久久综合久久综合亚洲| 麻豆精品久久久久久久99蜜桃| 无码人妻精品一区二区三区久久久 | 久久午夜羞羞影院免费观看| 国产Av激情久久无码天堂| 国产亚洲美女精品久久久| 久久热这里只有精品在线观看| 国产精品久久久久久久久鸭| 国产精品热久久毛片| 99精品久久久久久久婷婷| 亚洲欧美精品伊人久久| 偷窥少妇久久久久久久久| 国产亚洲欧美成人久久片 | 久久综合五月丁香久久激情| 久久亚洲日韩精品一区二区三区| 国产免费久久久久久无码| 日韩人妻无码一区二区三区久久99 | 久久婷婷久久一区二区三区| 狠狠色丁香久久婷婷综合蜜芽五月 | 狠狠色婷婷久久一区二区三区| 久久九九久精品国产免费直播| 久久综合88熟人妻| 午夜精品久久久久久久无码| 久久精品国产99国产精偷| 久久精品一区二区三区AV| 久久99精品免费一区二区| 久久亚洲精品视频| 国产精品美女久久久久| 久久久精品2019免费观看| 久久天天躁狠狠躁夜夜avapp| 久久亚洲国产成人精品无码区|