0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)EM9560工控主板GPIO的使用介紹

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-15 14:48 ? 次閱讀

EM9560工控主板是以EM9460工控主板為基礎(chǔ),并針對客戶應(yīng)用的需求,增加了更多通用數(shù)字IO,于2012年初推出的一款低成本嵌入式主板產(chǎn)品。該產(chǎn)品保持了Linux操作系統(tǒng)作為客戶應(yīng)用程序的軟件平臺,其基本接口功能API函數(shù)上也與前期產(chǎn)品EM9460完全兼容,從而保證了客戶的應(yīng)用程序可不加修改的直接運行于EM9560。

EM9560的GPIO數(shù)量從原有的16位(即EM9460的GPIO數(shù))增加到46位。為了方便客戶應(yīng)用程序的一致性,EM9560的GPIO驅(qū)動支持用戶應(yīng)用程序采用現(xiàn)有API函數(shù)就可操作所有的GPIO。本文主要介紹如何利用現(xiàn)有API函數(shù)實現(xiàn)EM9560的GPIO操作。

EM9560的46位GPIO分成了2組,第一組為原有的16位GPIO,稱為GPIO0–GPIO15,第二組為擴展的新的GPIO,為區(qū)別說明,成為GPIOX0–GPIOX29。注意這兩組GPIO都沒有用到最高bit,即BIT31。新的API函數(shù)正是利用BIT31作為輸入參數(shù),當BIT31為“0”時,表示操作基本的GPIO0–GPIO15;而BIT31=“1”時,則表示操作擴展的GPIOX0–GPIOX29。舉例說明如下:

#define GPIOX_FLAG (1 << 31) // 定義操作標志

以設(shè)置GPIO位輸出高電平為例,其基本操作函數(shù)保持不變:

int GPIO_OutSet(int fd, unsigned int dwSetBits)
{
int rc;
rc = ioctl(fd, EM9X60_GPIO_IOCTL_OUT_SET, &dwSetBits);
return rc;
}

當操作基本的GPIO0–GPIO15時,調(diào)用方式為:

unsigned int uBits = GPIOm | … | GPIOn; // 設(shè)置相關(guān)GPIO位
rc = GPIO_OutSet(fd, uBits );

而當操作擴展的GPIOX0–GPIOX29時,調(diào)用方式為:

unsigned int uBits = GPIOm | … | GPIOn; // 設(shè)置相關(guān)GPIO位
rc = GPIO_OutSet(fd, uBits |GPIOX_FLAG ); // 設(shè)置擴展標志位

由于GPIO的API大多數(shù)是輸出類型的,對僅操作基本GPIO0 – GPIO15,原有程序可不做修改,就可直接使用。但對讀取GPIO狀態(tài),則需要特別注意,其輸出參數(shù)必須事先設(shè)置標志位,才能調(diào)用狀態(tài)讀取函數(shù),其相關(guān)代碼如下:

基本的狀態(tài)讀取函數(shù)不變:

int GPIO_PinState(int fd, unsigned int* pPinState)
{
int rc;
unsigned int dwCurrPinState;
rc = ioctl(fd, EM9X60_GPIO_IOCTL_PIN_STATE, &dwCurrPinState);
if(rc == 0) // ioctl successful
{
*pPinState = dwCurrPinState;
}
return rc;
}

對讀取基本GPIO0–GPIO15的狀態(tài),需要對輸出參數(shù)先賦0,再調(diào)用:

unsigned int uState = 0;
rc = GPIO_PinState(fd, &uState);

對讀取擴展GPIOX0 – GPIOX29的狀態(tài),需要對輸出參數(shù)先設(shè)置擴展GPIO標志,再調(diào)用:

unsigned int uState = GPIOX_FLAG; // 設(shè)置擴展標志位
rc = GPIO_PinState(fd, &uState);

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11207

    瀏覽量

    208717
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6084

    瀏覽量

    35154
收藏 人收藏

    評論

    相關(guān)推薦

    ?什么是國產(chǎn)工控主板,國產(chǎn)工控主板的特點有哪些?

    什么是國產(chǎn)工控主板呢?國產(chǎn)工控主板是工業(yè)計算機的主板,是一種計算機系統(tǒng)的硬件設(shè)備,是專門為工業(yè)控制場景設(shè)計和生產(chǎn)的電路板。它在國內(nèi)的研發(fā)和制
    的頭像 發(fā)表于 11-07 10:29 ?56次閱讀

    國產(chǎn)工控主板,信創(chuàng)產(chǎn)業(yè)發(fā)展新引擎

    在當今科技飛速發(fā)展的時代,信創(chuàng)產(chǎn)業(yè)正成為國家戰(zhàn)略的重要支撐。而我們的國產(chǎn)工控主板,以其卓越的性能和可靠的品質(zhì),為信創(chuàng)產(chǎn)業(yè)的發(fā)展注入強大動力。國產(chǎn)工控
    的頭像 發(fā)表于 11-06 10:29 ?92次閱讀

    中科創(chuàng)達榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達憑借非凡的技術(shù)實力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競爭力百強企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?326次閱讀

    工控主板有哪些特點?

    ?工控主板是用于工業(yè)控制領(lǐng)域的專用主板,具有以下特點: 穩(wěn)定性:工控主板通常經(jīng)過嚴格的測試和優(yōu)化,具有較高的穩(wěn)定性和可靠性,能夠在惡劣的工業(yè)
    的頭像 發(fā)表于 10-10 08:55 ?190次閱讀

    創(chuàng)國產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的簡稱,于2016年“信創(chuàng)工委會”(信息技術(shù)應(yīng)用創(chuàng)新工作委員會)提出,目的就是要推動我們國內(nèi)軟硬件關(guān)鍵技術(shù)的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?275次閱讀

    工控主板在環(huán)保智能設(shè)備中的應(yīng)用

    工控主板在環(huán)保智能設(shè)備中的應(yīng)用,對于環(huán)境監(jiān)測、資源管理、污染控制等方面起到了至關(guān)重要的作用。以下是工控主板在環(huán)保智能設(shè)備中的一些具體應(yīng)用:
    的頭像 發(fā)表于 07-17 15:54 ?271次閱讀
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>在環(huán)保智能設(shè)備中的應(yīng)用

    淺析安卓工控主板的優(yōu)勢

    安卓工控主板作為專為工業(yè)控制領(lǐng)域設(shè)計的硬件平臺,相較于普通商用主板,擁有諸多優(yōu)勢,以滿足工業(yè)環(huán)境對穩(wěn)定、可靠、長期運行的嚴格要求。以下是安卓工控主板
    的頭像 發(fā)表于 06-27 14:50 ?290次閱讀

    使用工控主板時該注意哪些事項?

    最近大家都在頻繁問一個問題就是工控主板在什么人為情況下容易出現(xiàn)故障,從而造成工控主板的損壞,那今天小編就來講講,我們在使用工控
    的頭像 發(fā)表于 06-05 16:01 ?335次閱讀
    使用<b class='flag-5'>工控</b><b class='flag-5'>主板</b>時該注意哪些事項?

    請問如何使用CY8C9560控制GPIO線路?

    我有一塊裝有 CY8C9560A 的電路板。 我使用 NI USB-8452 作為 I2C 主設(shè)備,從我的應(yīng)用程序中發(fā)送數(shù)據(jù)。 SCL 和 SDA 引腳在 Vcc =3.3V 電壓下有一個
    發(fā)表于 05-31 08:24

    工控主板容易出現(xiàn)故障的原因有哪些?

    最近大家都在頻繁問一個問題就是工控主板在什么人為情況下容易出現(xiàn)故障,從而造成工控主板的損壞,那今天小編就來講講,我們在使用工控
    的頭像 發(fā)表于 05-17 10:57 ?296次閱讀

    工控主板的性能指標有哪些?

    工控主板是工業(yè)控制領(lǐng)域中的關(guān)鍵組成部分,它承載著工控系統(tǒng)的核心功能。因此,工控主板的性能指標是評估其質(zhì)量和性能的重要標準。本文將
    的頭像 發(fā)表于 05-10 16:27 ?853次閱讀
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>的性能指標有哪些?

    工控主板和普通主板的區(qū)別有哪些

    工控主板和普通主板是兩種在計算機硬件領(lǐng)域中常見的主板類型,它們在設(shè)計、功能和用途上有著明顯的區(qū)別。工控
    的頭像 發(fā)表于 04-25 16:54 ?1104次閱讀
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>和普通<b class='flag-5'>主板</b>的區(qū)別有哪些

    購買工控主板的三大誤區(qū)

    最近有很多人問我什么樣的工控主板算好的,有沒有一個統(tǒng)一的標準。工控主板作為整機的核心組成部分,在性能穩(wěn)定上有著至關(guān)重要的作用,那今天小編就來給大家講解一下在購買
    的頭像 發(fā)表于 04-16 16:40 ?279次閱讀

    使用Arduino I2C配置CY8C9560A-24AXI gpio,GPIO0的所有位配置為低位時會報錯的原因?

    你好團隊,我正在嘗試使用 Arduino I2C 配置 CY8C9560A-24AXI gpio。將 GPIO0 的所有位配置為低位時會遇到問題。Wire.beginTransmission
    發(fā)表于 03-05 06:07

    工控機主板與嵌入式主板的區(qū)別是什么?

    在計算機硬件中,主板是至關(guān)重要的組成部分,它連接并控制著所有的硬件設(shè)備。然而,根據(jù)其設(shè)計和使用場景的不同,主板可以被分為多種類型,選擇合適的主板對于不同的嵌入式系統(tǒng)應(yīng)用來說至關(guān)重要。那么工控機
    的頭像 發(fā)表于 11-16 10:29 ?1949次閱讀
    <b class='flag-5'>工控機主板</b>與嵌入式<b class='flag-5'>主板</b>的區(qū)別是什么?