国产综合精品中文字幕免费_天天草综合_国产二区_亚洲经色片女人a黄色片_snh48亚洲大片免费国产_成人生活片网站_成人免费视频_欧美 日韩 国产 女儿

電 話:

傳 真:

郵 箱:secsoon@163.com

 Win7系統(tǒng)LabVIEW使用WinIO3.0操作工業(yè)主板GPIO引腳輸出控制LED燈亮與滅 

  • 前言

    GPIO(英語:General-purpose input/output),通用型之輸入輸出的簡稱,功能類似8051的P0—P3,其接腳可以供使用者由程控自由使用,PIN腳依現(xiàn)實考量可作為通用輸入(GPI)或通用輸出(GPO)或通用輸入與輸出(GPIO),如當(dāng)clk generator, chip select等。既然一個引腳可以用于輸入、輸出或其他特殊功能,那么一定有寄存器用來選擇這些功能。對于輸入,一定可以通過讀取某個寄存器來確定引腳電位的高低;對于輸出,一定可以通過寫入某個寄存器來讓這個引腳輸出高電位或者低電位;對于其他特殊功能,則有另外的寄存器來控制它們。關(guān)于GPIO的更多介紹,大家可以度娘查一下,這里不做過多介紹了。

    WinIO動態(tài)庫允許在32位的Windows應(yīng)用程序中直接對I/O端口和物理內(nèi)存進行存取操作,通過使用一種內(nèi)核模式的設(shè)備驅(qū)動器和其它幾種底層編程技巧,它繞過了Windows系統(tǒng)的保護機制。而64位Windows系統(tǒng)中僅有WinIO3.0測試版的數(shù)字簽名,需要開啟測試模式才能正常使用。 

今天,我就教大家如何使用WinIO編程來控制GPIO的輸入輸出,并通過控制高/低電平的輸出來控制LED的亮與滅。這在工業(yè)自動化應(yīng)用中是很有用的,可以用來作為信號I/O,因為很多工業(yè)PC主板上一般都有GPIO插針引腳,如果利用上了,既可以節(jié)省硬件成本,又可以在軟件編程時統(tǒng)一IO接口函數(shù),節(jié)省了使用其他IO卡帶來的二次開發(fā)所花的時間和精力。

  • 工具/原料

    硬件:排線、插針、LED燈珠(有條件的可以將插針和LED燈珠焊接在萬能板上,方便觀察控制),還有帶GPIO插針的工業(yè)PC主板(系統(tǒng)Win7 32位或64位均可)。

    軟件:LabVIEW編程環(huán)境、WinIO3.0庫函數(shù)(共8個函數(shù),其中我們用到的函數(shù)只要4個即可)

bool _stdcallInitializeWinIo();

本函數(shù)初始化WioIO函數(shù)庫。

必須在調(diào)用所有其它功能函數(shù)之前調(diào)用本函數(shù)。

如果函數(shù)調(diào)用成功,返回值為非零值。否則返回值為0。

 

bool _stdcall GetPortVal(WORDwPortAddr, PDWORD pdwPortVal, BYTE bSize);

使用此函數(shù)從一個輸入或輸出端口讀取一個字節(jié)/字/雙字數(shù)據(jù)。

參數(shù):

wPortAddr– 輸入輸出端口地址

pdwPortVal– 指向雙字變量的指針,接收從端口得到的數(shù)據(jù)。

bSize– 需要讀的字節(jié)數(shù),可以是1 (BYTE), 2 (WORD) or 4 (DWORD).

如果調(diào)用成功,則返回非零值。否則函數(shù)返回值為零。


bool _stdcallSetPortVal(WORD wPortAddr, DWORD dwPortVal, BYTE bSize);

使用本函數(shù)將一個字節(jié)/字/雙字的數(shù)據(jù)寫入輸入或輸出接口。

參數(shù):

wPortAddr– 輸入輸出口地址

dwPortVal– 要寫入口的數(shù)據(jù)

bSize– 要寫的數(shù)據(jù)個數(shù),可以是 1 (BYTE), 2 (WORD) or 4 (DWORD).

如果調(diào)用成功,則返回非零值。否則函數(shù)返回值為零。


void _stdcallShutdownWinIo();

本函數(shù)在內(nèi)存中清除WinIO庫,本函數(shù)必須在中止應(yīng)用函數(shù)之前或者不再需要WinIO庫時調(diào)用


  • 操作/步驟

通過使用上述4個函數(shù)功能,我將整個調(diào)用做成了一個界面,并打包成exe發(fā)布。

 

我將已經(jīng)測試過的幾款主板GPIO參數(shù)填寫進了內(nèi)部程序框圖,并做了一個下拉列表選項框供選擇測試,當(dāng)然,我們也可以通過選擇【通用主板】,并配置程序目錄下的GPIO.ini文件參數(shù)來調(diào)用自定義的GPIO地址和端口。

操作:參數(shù)都配置好(或者選好主板后),這里以M61主板為例。

1、輸出:直接點輸出的Pin即可(如果Pin腳定義為僅輸入,那么點擊無效;僅可控制輸出Pin腳)。

2、輸入:由以上引腳說明可知默認輸入是高電平的(燈亮),所以要給輸入的話就得給低電平(燈滅)。我們將Pin9(VDD)接入到相應(yīng)的輸入腳(只讀腳),即可有變化(接入時燈滅)


詳細測試效果見視頻:

https://v.youku.com/v_show/id_XNDA5NTgwNTU2NA==.html

綠色版,無需安裝直接解壓打開使用。

 

GPIO測試工具V3.0下載地址請關(guān)注微信公眾號: