亚洲色欲久久久久综合纲/aaa级毛片/蜜桃视频免费观看入口大全/一级黄色网络免费 - www.免费看黄

電 話:

傳 真:

郵 箱:secsoon@163.com

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

  • 前言

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

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

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

  • 工具/原料

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

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

bool _stdcallInitializeWinIo();

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

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

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

 

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

使用此函數(shù)從一個(gè)輸入或輸出端口讀取一個(gè)字節(jié)/字/雙字?jǐn)?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ù)將一個(gè)字節(jié)/字/雙字的數(shù)據(jù)寫入輸入或輸出接口。

參數(shù):

wPortAddr– 輸入輸出口地址

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

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

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


void _stdcallShutdownWinIo();

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


  • 操作/步驟

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

 

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

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

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

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


詳細(xì)測(cè)試效果見視頻:

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

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

 

GPIO測(cè)試工具V3.0下載地址請(qǐng)關(guān)注微信公眾號(hào):