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