国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

?PowerPoint中串口通信的實(shí)現(xiàn)

2019-09-12 06:30:37范書(shū)義魏保華謝永才姜會(huì)霞
中國(guó)教育技術(shù)裝備 2019年5期

范書(shū)義 魏保華 謝永才 姜會(huì)霞

摘? 要 針對(duì)PowerPoint演示過(guò)程中需要通過(guò)串口與向設(shè)備發(fā)送數(shù)據(jù)這一問(wèn)題,通過(guò)擴(kuò)展VB中串口控件的功能以及對(duì)VB應(yīng)用程序命令行參數(shù)的解析,實(shí)現(xiàn)在PowerPoint演示頁(yè)面對(duì)串口通信設(shè)備的直接控制,保證PowerPoint演示文件播放的連續(xù)性,增強(qiáng)PPT的演示效果。

關(guān)鍵詞 PowerPoint;VB;示教板;串口設(shè)備

中圖分類(lèi)號(hào):G642? ? 文獻(xiàn)標(biāo)識(shí)碼:B

文章編號(hào):1671-489X(2019)05-0036-03

1 引言

PowerPoint(PPT)是微軟公司推出的一款優(yōu)秀幻燈片制作軟件,專(zhuān)門(mén)用于制作演示文稿。該軟件具有容易掌握、使用方便、擴(kuò)展性強(qiáng)的特點(diǎn),是目前使用最廣泛的幻燈片制作軟件,被廣泛應(yīng)用于電子教學(xué)、設(shè)計(jì)和制作產(chǎn)品演示、業(yè)績(jī)報(bào)告和項(xiàng)目展示等多個(gè)領(lǐng)域。

在復(fù)雜原理教學(xué)過(guò)程中,有時(shí)需要采用示教板輔助教學(xué),以幫助學(xué)生對(duì)所講授原理的理解,如圖1所示。目前,一般示教板都具有串口控制功能,在講解時(shí)需要從Power-Point演示界面切換到串口控制程序,實(shí)現(xiàn)對(duì)串口示教板的控制。這種方法需要在PowerPoint和串口控制程序之間多次切換,會(huì)割裂演示過(guò)程的完整性和流暢性,當(dāng)需要頻繁控制串口設(shè)備時(shí)尤其如此。如果能夠在放映的PPT幻燈片中嵌入示教板的串口控制命令,則可以使講解過(guò)程更完整流暢,大大增強(qiáng)PowerPoint的演示效果。該方法也可以用在教學(xué)過(guò)程中其他需要在PowerPoint中控制串口設(shè)備的場(chǎng)合。

2 PowerPoint中串口通信的實(shí)現(xiàn)方法

PowerPoint演示頁(yè)面在播放PPT過(guò)程中的動(dòng)作方式只有兩種,分別是“運(yùn)行程序”和“運(yùn)行宏”。首先分析“運(yùn)行宏”這種方式。宏是由一系列VBA(Visual Basic for Application)代碼組成的可執(zhí)行程序。對(duì)宏的支持是微軟公司的Office系列辦公軟件區(qū)別于其他辦公軟件的一大特色。通過(guò)VBA可以實(shí)現(xiàn)對(duì)Office應(yīng)用程序的擴(kuò)展,大大增強(qiáng)Office應(yīng)用程序的自動(dòng)化能力。如果能夠直接使用VBA實(shí)現(xiàn)在PowerPoint演示頁(yè)面對(duì)串口通信設(shè)備的控制,那就再好不過(guò)了。這樣既不用使用其他開(kāi)發(fā)工具,而且這些VBA代碼是嵌入PowerPoint中的,會(huì)使整個(gè)PowerPoint文檔具有很好的可移植性。一般情況下與串口設(shè)備通信時(shí),應(yīng)能根據(jù)需要向串口設(shè)備發(fā)送不同數(shù)據(jù),但Office中的宏并不支持參數(shù)傳遞,這會(huì)給串口通信帶來(lái)很大問(wèn)題。宏的這種特性就要求向串口設(shè)備發(fā)送不同數(shù)據(jù)時(shí)要用不同的宏,這種要求在通信數(shù)據(jù)類(lèi)型較多時(shí)會(huì)造成極大的代碼重復(fù)。通過(guò)以上分析可知,直接使用宏顯然不是一種合理的方法。

再來(lái)分析“運(yùn)行程序”這種方式。這種方式允許在PPT演示頁(yè)面通過(guò)在對(duì)象上單擊鼠標(biāo)運(yùn)行外部可執(zhí)行程序。這種方式與“運(yùn)行宏”面臨相同的問(wèn)題,即調(diào)用外部可執(zhí)行程序時(shí)要能夠傳遞參數(shù),該問(wèn)題可以通過(guò)使用命令行參數(shù)來(lái)解決。因?yàn)閃indows操作系統(tǒng)對(duì)文件名長(zhǎng)度限制為小于255個(gè)字符,所以使用命令行參數(shù)時(shí)要注意命令行參數(shù)不要過(guò)長(zhǎng)。如果需要傳遞的信息超過(guò)255個(gè)字符,可以采用分批多次發(fā)送的方式,或者采用壓縮參數(shù)格式,而后在VB程序中解析的方式。

規(guī)定通信協(xié)議? 要想實(shí)現(xiàn)設(shè)備之間的通信,必須規(guī)定通信雙方都能理解的通信協(xié)議。通信協(xié)議的規(guī)定應(yīng)簡(jiǎn)明、無(wú)歧義。通信協(xié)議一般包括三個(gè)要素:

1)語(yǔ)法,即通信雙方通信時(shí)的數(shù)據(jù)報(bào)文格式;

2)語(yǔ)義,即通信的內(nèi)容;

3)時(shí)序規(guī)則,即何時(shí)進(jìn)行通信。

因?yàn)轫?xiàng)目采用VB的串口控件實(shí)現(xiàn)通信,而且采用異步通信方式,所以不需要考慮通信的時(shí)序問(wèn)題,只需要考慮通信協(xié)議的語(yǔ)法和語(yǔ)義即可。以本項(xiàng)目為例,需要在演示頁(yè)面通過(guò)向串口發(fā)送數(shù)據(jù)控制某設(shè)備示教板中不同部分燈的點(diǎn)亮和熄滅,要求能夠單獨(dú)控制某個(gè)示教板的某條線或框點(diǎn)亮或熄滅,其通信協(xié)議規(guī)定如下:

示教板區(qū)域號(hào)+[線編號(hào)(框編號(hào))+亮(1)/滅(0)標(biāo)記](méi)

當(dāng)要控制多條線/框時(shí),可在上面格式的基礎(chǔ)上+空格+[線編號(hào)(框編號(hào))+亮(1)/滅(0)標(biāo)記](méi),如XK11 L11 L120(控制示教板X(qián)區(qū)域的K1、線L1亮,線L12滅)。

開(kāi)發(fā)者可根據(jù)項(xiàng)目需求,規(guī)定合適的通信協(xié)議。通信內(nèi)容主要是規(guī)定表示示教板的字母和線號(hào),這些內(nèi)容需要在發(fā)送前進(jìn)行校驗(yàn),以避免發(fā)送錯(cuò)誤的數(shù)據(jù)到接收端。

解析命令行參數(shù)? 考慮到編程的方便性,采用Micro-soft公司的VB(Visual Basic)作為編程工具。VB提供的串口控件(MSComm)封裝了對(duì)串口的各種操作,可以通過(guò)調(diào)用控件提供的方法(method)和屬性(attribute)實(shí)現(xiàn)對(duì)串口的訪問(wèn)[1]。

因?yàn)槌绦蚴窃赑PT演示頁(yè)面執(zhí)行的,所以不需要顯示可執(zhí)行窗口。因此需要在工程中進(jìn)行設(shè)置,如圖2所示。在工程設(shè)置的“General”選項(xiàng)卡的“Startup Object”下拉列表框中選擇“Sub Main”,這樣程序就可以在PPT演示頁(yè)面中不顯示窗口執(zhí)行了。這種方式需要在VB工程中編寫(xiě)一個(gè)main()函數(shù),并在該函數(shù)中對(duì)命令行中的參數(shù)進(jìn)行解析[2]。獲取命令行參數(shù)并進(jìn)行解析的關(guān)鍵代碼如下:

以上代碼將獲取的命令行參數(shù)存儲(chǔ)到字符串?dāng)?shù)組中,第二行代碼中的參數(shù)與通信協(xié)議規(guī)定的數(shù)據(jù)格式密切相關(guān)。因?yàn)楸卷?xiàng)目以空格作為分隔符,所以采用空格作為Split()函數(shù)的參數(shù),將通過(guò)命令行傳遞到程序中的函數(shù)分隔為字符串?dāng)?shù)組,以便進(jìn)一步處理。開(kāi)發(fā)者可根據(jù)規(guī)定的通信格式,采取適當(dāng)?shù)奶幚矸绞健?/p>

向串口發(fā)送數(shù)據(jù)? 命令行參數(shù)解析完成后,可使用VB提供的MSComm串口通信控件將數(shù)據(jù)發(fā)送到串行口。該控件為程序開(kāi)發(fā)者提供了簡(jiǎn)單易用的串口通信函數(shù)接口和屬性,為串口應(yīng)用程序的開(kāi)發(fā)提供了極大方便。通過(guò)該控件向串口發(fā)送數(shù)據(jù)非常簡(jiǎn)單,如果數(shù)據(jù)需要以文本形式發(fā)送,則直接將文本字符串直接賦值給Output屬性即可,如MSComm.Output=":X011,021,031,041,051*"。

如果要以二進(jìn)制形式發(fā)送數(shù)據(jù),則需進(jìn)行必要的轉(zhuǎn)換。首先定義一個(gè)Byte類(lèi)型的數(shù)組,然后將要發(fā)送的文本數(shù)據(jù)采用Cbyte()函數(shù)逐字節(jié)轉(zhuǎn)換為Byte類(lèi)型,最后將該Byte類(lèi)型的數(shù)組賦值給串口控件的Output屬性即可,主要代碼如下:

在PPT演示頁(yè)面中的應(yīng)用? 在PPT中,選擇單擊時(shí)要向示教板發(fā)送數(shù)據(jù)的文本、對(duì)象或線條,在“插入”選項(xiàng)卡中單擊“超鏈接”圖標(biāo),彈出圖3所示窗口;選擇“運(yùn)行程序”選項(xiàng),在該選項(xiàng)的文本框中輸入用VB生成的程序和相應(yīng)參數(shù),然后單擊“確定”即可。圖3中輸入的參數(shù)表示要發(fā)送給示教板相應(yīng)的流程線,控制示教板流程線點(diǎn)亮或熄滅。

在PPT演示頁(yè)面,操作者只需用鼠標(biāo)單擊嵌入了超鏈接的文本或?qū)ο蠹纯蓤?zhí)行該程序,將命令行參數(shù)中攜帶的數(shù)據(jù)發(fā)送到示教板,對(duì)示教板進(jìn)行控制。

3 結(jié)語(yǔ)

微軟的PowerPoint是目前廣泛使用的一款演示軟件,具有強(qiáng)大的互動(dòng)演示功能和方便快捷的拖放式操作方法。但某些高級(jí)功能并不能直接通過(guò)簡(jiǎn)單的拖放操作實(shí)現(xiàn),可以通過(guò)PowerPoint提供的超鏈接功能,利用通用編程語(yǔ)言提供的強(qiáng)大功能實(shí)現(xiàn)某些特殊功能,為互動(dòng)演示提供便利。

參考文獻(xiàn)

[1]楊忠寶,康順哲.VB語(yǔ)言程序設(shè)計(jì)教程[M].北京:人民郵電出版社,2010:81-92.

[2]龔沛曾,楊志強(qiáng),等.Visual Basic程序設(shè)計(jì)教程[M].4版.北京:高等教育出版社,2013:136-138.

思南县| 大安市| 岑溪市| 峨山| 社会| 贵定县| 永川市| 炉霍县| 黄冈市| 乐亭县| 保山市| 松滋市| 盐山县| 孟州市| 清徐县| 凤阳县| 沙湾县| 常熟市| 镇雄县| 墨竹工卡县| 漳浦县| 海城市| 滦平县| 额敏县| 白山市| 辽阳市| 浦城县| 孟连| 牟定县| 烟台市| 扎赉特旗| 邢台市| 湄潭县| 东至县| 伊宁市| 乌拉特前旗| 安吉县| 兴义市| 乌海市| 多伦县| 泰兴市|