張文杰
(韓山師范學(xué)院,廣東潮州 521000)
在通信技術(shù)不斷更新的今天,大型生產(chǎn)和應(yīng)用裝置采用先進(jìn)的控制系統(tǒng)已經(jīng)成為時(shí)代發(fā)展的必然趨勢(shì),而先進(jìn)的控制理論和方法要應(yīng)用到控制系統(tǒng)中,必然要用到先進(jìn)的數(shù)據(jù)通信接口軟件。C語(yǔ)言兼具匯編語(yǔ)言和高級(jí)語(yǔ)言的雙重特性,作為計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的一種,在大中小微型機(jī)上都有應(yīng)用[1]。作為結(jié)構(gòu)式語(yǔ)言,可以應(yīng)用于很多領(lǐng)域,諸如工作系統(tǒng)、編寫(xiě)系統(tǒng),而且使很好的開(kāi)發(fā)應(yīng)用程序語(yǔ)言。在很多領(lǐng)域顯示了C語(yǔ)言的巨大優(yōu)勢(shì),并且隨著信息技術(shù)的發(fā)展,使得C語(yǔ)言的優(yōu)勢(shì)越來(lái)越突出,C語(yǔ)言的強(qiáng)大功能使得其在數(shù)據(jù)通信接口軟件方面得到廣泛的應(yīng)用,取得令人滿(mǎn)意的效果。
1.在標(biāo)準(zhǔn)通信子系統(tǒng)與通信中央處理器之間的接口被稱(chēng)為通信接口,例如,我們常用的電腦機(jī)箱后方的9芯插座有”|O|O|”標(biāo)識(shí),就是串口RS232接口。
2.數(shù)據(jù)通信接口概述:
計(jì)算機(jī)與終端以及相互之間信息傳遞主要是通過(guò)數(shù)據(jù)通信接口進(jìn)行的,通常采用的兩種方式是并行通訊和串行通訊,為了避免因?yàn)槎鄺l路線(xiàn)的特性不一致產(chǎn)生的通信不暢現(xiàn)象,一般,采用標(biāo)準(zhǔn)接口的串行通訊,這種數(shù)據(jù)傳輸方式具有成本低、線(xiàn)路少的特性。而在現(xiàn)實(shí)生活中最常用的串行通訊接口是RS-232-C接口,這種接口不僅對(duì)規(guī)定了各種信號(hào)的電平,而且規(guī)定了連接器的每個(gè)引腳的信號(hào)內(nèi)容,采用的是一個(gè)25個(gè)腳的 DB25連接器做標(biāo)準(zhǔn)[2]。
3.用于數(shù)據(jù)通信接口軟件設(shè)計(jì)方面的語(yǔ)言很多,例如在通信設(shè)備可編程邏輯控制PLC中采用有“結(jié)構(gòu)文本(ST)兩種文本語(yǔ)言”、“順序功能圖(SFC)”、“梯形圖(LD)”、“三種圖形化語(yǔ)言”、“功能模塊圖(FBD)”、“語(yǔ)句表(IL)”這五種標(biāo)準(zhǔn)化編程語(yǔ)言,并且這些語(yǔ)言都遵守其標(biāo)準(zhǔn)(IEC6113123),還可以支持C,Basic等多種編程語(yǔ)言,這樣可以滿(mǎn)足特殊控制場(chǎng)合的控制要求。
1.C語(yǔ)言的特點(diǎn):兼具匯編語(yǔ)言和高級(jí)語(yǔ)言的雙重特性,作為計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的一種,在大中小微型機(jī)上都有應(yīng)用。作為結(jié)構(gòu)式語(yǔ)言,可以應(yīng)用于很多領(lǐng)域,諸如工作系統(tǒng)、編寫(xiě)系統(tǒng),而且使很好的開(kāi)發(fā)應(yīng)用程序語(yǔ)言。C語(yǔ)言功能齊全:不同的數(shù)據(jù)類(lèi)型都包涵在C語(yǔ)言,并引入了指針概念的引入大大提供了程序的使用效率。這顯示了C語(yǔ)言的齊全功能和強(qiáng)大的邏輯判斷功能[3]。
基本語(yǔ)法包括字符串、數(shù)組、變量與常量、指針、數(shù)據(jù)類(lèi)型等,由標(biāo)準(zhǔn)庫(kù)中的一組函數(shù)來(lái)實(shí)現(xiàn)文件的輸入與輸出,ANSI/ISO C中,通過(guò)頭文件
2.由于C語(yǔ)言高級(jí)語(yǔ)言的屬性之外,所以它的應(yīng)用范圍非常廣泛,不僅用于系統(tǒng)使用程序而且在硬件進(jìn)行操作的場(chǎng)合和操作形同方面都有有應(yīng)用。隨著軟件技術(shù)的發(fā)展,它還被用作很多大型應(yīng)用軟件的編程中。
3.由于C語(yǔ)言是數(shù)值計(jì)算的高級(jí)語(yǔ)言,很強(qiáng)的繪圖能力、數(shù)據(jù)處理能力,并且具有移植性,所以被應(yīng)用到動(dòng)畫(huà)、二維和三維圖形方面等。
該實(shí)例主要闡述由于C語(yǔ)言具有的勢(shì)很好的應(yīng)用于自動(dòng)測(cè)量系統(tǒng)中數(shù)據(jù)通信接口的軟件開(kāi)發(fā)中,實(shí)現(xiàn)數(shù)據(jù)接口的初始化,使得接收、發(fā)送、處理數(shù)據(jù)方面起到強(qiáng)大的作用該數(shù)據(jù)通信軟件接口的電路實(shí)現(xiàn)了異步、雙向、可靠準(zhǔn)確的數(shù)據(jù)通信任務(wù)。不同的是,GPIB的WIN32API函數(shù)驅(qū)動(dòng)庫(kù)主要用于軟件部分設(shè)計(jì);API函數(shù)庫(kù)封裝對(duì)GPIB設(shè)備初始化、讀取數(shù)據(jù)、寫(xiě)入數(shù)據(jù)或命令以及清除等各種控制操作是通過(guò)通過(guò)DLL調(diào)用技術(shù)來(lái)完成的[4]。
1.C語(yǔ)言對(duì)數(shù)據(jù)通信接口的初始化方法如下:
void gpib_init() //gpib初始化
XBYTE[0x0500]=0x02; //芯片復(fù)位
XBYTE[0x0500]=0x2c; //置位外部計(jì)數(shù)發(fā)生器
XBYTE[0x0500]=0x8c; //設(shè)置為8bits數(shù)據(jù)傳送
XBYTE[0x0500]=0xa8; //低電平中斷
XBYTE[0x0500]=0xc0; //進(jìn)入準(zhǔn)備
XBYTE[0x0100]=0x03; //設(shè)輸入輸出產(chǎn)生中斷
XBYTE[0x0400]=0x31; //設(shè)受命方式為1
XBYTE[0x0600]=0x20; //設(shè)程控地址
XBYTE[0x0600]=0xc0; //設(shè)程控地址為15
XBYTE[0x0700]=0x0a; //設(shè)結(jié)束字符為“0x0a”(回車(chē))
XBYTE[0x0500]=0; //立即執(zhí)行,產(chǎn)生本地消息
2.基于C語(yǔ)言的數(shù)據(jù)通信接口軟件的設(shè)計(jì)
1.由于C語(yǔ)言在數(shù)據(jù)的封裝性上有一定的缺陷,使得其在數(shù)據(jù)的安全問(wèn)題上成為隱患,導(dǎo)致數(shù)據(jù)通信接口軟件在信息通訊中的作用會(huì)受到一定的影響。針對(duì)這一缺陷,在實(shí)際編程設(shè)計(jì)中我們可以用C++來(lái)進(jìn)行彌補(bǔ)[5-6]。
2.由于C語(yǔ)言在語(yǔ)法限制方面要求的不太嚴(yán)格,同時(shí)對(duì)對(duì)變量的類(lèi)型約束性也不是太強(qiáng)不。例如,它對(duì)數(shù)組下標(biāo)越界不作檢查,所以,使用這種語(yǔ)言作為數(shù)據(jù)通信接口軟件的編輯語(yǔ)言時(shí)常會(huì)影響程序的安全性。
3.站在應(yīng)用的角度上來(lái)看,在眾多的編程語(yǔ)言中,C語(yǔ)言是一種比較難學(xué)的語(yǔ)言。
隨著社會(huì)的快速發(fā)展,人們對(duì)通信的要求不斷提高,無(wú)論是人們生活還是工作或者是娛樂(lè),通信都具有重要的意義。數(shù)據(jù)通信接口軟件設(shè)計(jì)是根據(jù)通信業(yè)務(wù)的需求進(jìn)行設(shè)計(jì)的,需要滿(mǎn)足數(shù)據(jù)通信功能,在數(shù)據(jù)通信接口軟件設(shè)計(jì)中采用C語(yǔ)言進(jìn)行設(shè)計(jì),不僅能夠優(yōu)化設(shè)計(jì)程序,而且對(duì)提高準(zhǔn)確性和可靠性也具有重要的意義。
[1] 季海峰.基于虛擬儀器測(cè)試系統(tǒng)的PCI-GPIB控制器的設(shè)計(jì)和研究[M].南京:南京理工大學(xué),2007:23-
[2] 程來(lái)法.基于C語(yǔ)言的電腦機(jī)器人足球進(jìn)攻程序設(shè)計(jì)[J].電腦編程技巧與維護(hù). 2012(05)
[3] PETROUTSOS E.V isual B asic 6從入門(mén)到精通[M].邱仲潘,譯.北京:電子工業(yè)出版社, 2002.
[4] 季海峰.基于虛擬儀器測(cè)試系統(tǒng)的PCI-GPIB控制器的設(shè)計(jì)和研究[M].南京:南京理工大學(xué),2007:23-30.
[5] LippmanS B.C++Primer中文版[M].李師賢,譯.4版.北京:人民郵電出版社,2006.
[6] 馮宏華.C++應(yīng)用程序性能優(yōu)化[M].北京:電子工業(yè)出版社;2007.