chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

英創(chuàng)信息技術(shù)用GPIO實(shí)現(xiàn)多路外部中斷及脈沖計(jì)數(shù)簡(jiǎn)介

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-11 16:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

英創(chuàng)工控主板都給用戶提供了豐富的GPIO資源,在ESMARC系列的板卡上配置了32位GPIO,GPIO(General-purpose input/output)即通用輸入輸出,在實(shí)際使用中有多種用途,而作為外部中斷輸入便是較常用的功能,通過(guò)對(duì)外部輸入中斷的響應(yīng),可以滿足多種應(yīng)用需求,脈沖計(jì)數(shù)就是一種典型的應(yīng)用。英創(chuàng)主板已經(jīng)給用戶提供了兩路中斷功能,是采用異步IO的方式,電平上升沿觸發(fā)中斷,通過(guò)信號(hào)量SIGIO通知應(yīng)用程序,關(guān)于詳細(xì)的資料可以參考網(wǎng)站:《ESM335x外部中斷輸入應(yīng)用》。

為了讓用戶能夠使用到更多外部輸入中斷,英創(chuàng)公司進(jìn)一步在驅(qū)動(dòng)中增加了相應(yīng)的功能和接口,利用IO多路復(fù)用的技術(shù)讓所有GPIO都能夠作為外部中斷輸入,通過(guò)程序設(shè)置使能,一旦管腳電平發(fā)生變化,內(nèi)核就會(huì)通知應(yīng)用程序,這時(shí)使用select或者poll函數(shù)就可以接收到內(nèi)核發(fā)出的消息。通過(guò)這種方式,用戶可以將主板的32位GPIO全部作為外部中斷輸入,而原來(lái)提供的采用異步IO方式的兩路中斷我們?cè)瓌t上就不再做更新和維護(hù),建議客戶使用我們最新提供的方法。下面就以兩路GPIO的脈沖計(jì)數(shù)功能為例,介紹如何通過(guò)select或者poll函數(shù)實(shí)現(xiàn)外部中斷響應(yīng)。

首先要啟用中斷輸入功能,這一步需要調(diào)用英創(chuàng)公司提供的設(shè)置GPIO為輸入狀態(tài)的API函數(shù)來(lái)實(shí)現(xiàn)。也就是在程序中調(diào)用一次函數(shù),設(shè)置GPIO為輸入狀態(tài),就能把對(duì)應(yīng)的GPIO管腳設(shè)置為外部中斷輸入功能,如設(shè)置GPIO0和GPIO23為中斷輸入,代碼如下:

int GPIO_OutDisable(fd, GPIO0 | GPIO23)

當(dāng)設(shè)置完成后,GPIO作為輸入狀態(tài),同時(shí)會(huì)監(jiān)測(cè)外部輸入電平變化,并通過(guò)內(nèi)核驅(qū)動(dòng)通知應(yīng)用層。應(yīng)用程序使用select或者poll函數(shù)來(lái)監(jiān)聽GPIO的句柄的讀事件就能夠獲取到通知,用戶可以通過(guò)多線程的方式來(lái)實(shí)現(xiàn),通過(guò)select函數(shù)實(shí)現(xiàn)代碼如下:

while( 1 )
{
//設(shè)置讀事件
FD_ZERO(&fdRead);
FD_SET(fd,&fdRead);
//設(shè)置超時(shí)時(shí)間
aTime.tv_sec= 0;
aTime.tv_usec= 20000;
ret =select(fd+1,&fdRead,NULL,NULL,&aTime);
if(ret < 0 )
{
printf("error!\n");
break;
}
if(ret > 0)
{
//判斷是否讀事件
if(FD_ISSET(fd,&fdRead))
{
dwPinState = GPIO0 | GPIO23;
rc = GPIO_PinState(fds.fd, &dwPinState);
if(rc< 0)
{
printf("GPIO_PinState::failed %d\n", rc);
returnrc;
}
//根據(jù)上升沿對(duì)脈沖計(jì)數(shù)
if(dwPinState& GPIO0)
pulse1_num++;
if(dwPinState& GPIO23)
pulse2_num++;
//計(jì)數(shù)到500就退出
if(pulse1_num == 500 && pulse2_num == 500)
{
printf("the pules number is 500\n");
break;
}
}
}
}
close(fd);
return 0;

使用poll函數(shù)也是類似的,同樣的需要先使能GPIO的外部中斷輸入功能,即調(diào)用一次設(shè)置GPIO為輸入狀態(tài)的函數(shù),然后使用poll函數(shù)來(lái)監(jiān)聽GPIO的句柄的讀事件就能夠獲取到通知,具體代碼如下:

while(1)
{
structpollfdfds;
int timeout;
//設(shè)置監(jiān)聽句柄
fds.fd = fd;
//設(shè)置讀事件
fds.events = POLLIN;
//設(shè)置超時(shí)時(shí)間
timeout = 20000;
ret = poll(&fds, 1, timeout);
if (ret < 0 )
{
printf("error!\n");
break;
}
if (ret > 0)
{
//判斷是否讀事件
if (fds.revents == POLLIN)
{
dwPinState = GPIO0 | GPIO23;
rc = GPIO_PinState(fds.fd, &dwPinState);
if(rc< 0)
{
printf("GPIO_PinState::failed %d\n", rc);
returnrc;
}
//根據(jù)上升沿對(duì)脈沖計(jì)數(shù)
if(dwPinState& GPIO0)
pulse1_num++;
if(dwPinState& GPIO23)
pulse2_num++;
//計(jì)數(shù)到500就退出
if(pulse1_num == 500 && pulse2_num == 500)
{
printf("the pules number is 500\n");
break;
}
}
}
}
close(fd);
return 0;

當(dāng)輸入電平發(fā)生變化,select和poll函數(shù)偵測(cè)到讀事件,就可以進(jìn)行相應(yīng)的操作,示例代碼通過(guò)判斷上升沿來(lái)計(jì)數(shù)脈沖數(shù),經(jīng)過(guò)測(cè)試,上述代碼能對(duì)兩路2KHz的脈沖實(shí)現(xiàn)可靠計(jì)數(shù)。用戶還可以根據(jù)實(shí)際的應(yīng)用需求,把上述代碼修改為支持多路脈沖計(jì)數(shù)功能。

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

    關(guān)注

    7

    文章

    6107

    瀏覽量

    36919
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    龍芯中科助力2025教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦

    2025年11月13日-15日,由中國(guó)教育技術(shù)協(xié)會(huì)主辦、浙江大學(xué)與中國(guó)教育技術(shù)協(xié)會(huì)網(wǎng)絡(luò)安全專業(yè)委員會(huì)聯(lián)合承辦,中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)、浙江高校信
    的頭像 發(fā)表于 11-21 16:23 ?580次閱讀

    AXI GPIO擴(kuò)展e203 IO口簡(jiǎn)介

    讀寫寄存器、設(shè)置中斷等。 AXI-GPIO廣泛應(yīng)用于FPGA和SoC系統(tǒng)中,可以用于控制外部設(shè)備、實(shí)現(xiàn)狀態(tài)檢測(cè)、進(jìn)行通信協(xié)議等。AXI-GPIO
    發(fā)表于 10-22 08:14

    定時(shí)器實(shí)現(xiàn)步進(jìn)電機(jī)的正反脈沖計(jì)

    外部時(shí)鐘模式 B 和掛起模式,實(shí)現(xiàn)步進(jìn)電機(jī)的正反脈沖計(jì)數(shù)。 注:本應(yīng)用筆記對(duì)應(yīng)的代碼是基于雅特力提供的V2.x.x 板級(jí)支持包(BSP)而開發(fā),對(duì)于其他版本BSP,需要注意使用上的區(qū)別。 支持
    發(fā)表于 09-10 16:40

    由倍訊科技研制的CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān),可達(dá)成與脈沖計(jì)數(shù)器的連接

    本研究案例展示三菱可編程邏輯控制器(PLC)在工業(yè)自動(dòng)化控制中的實(shí)際應(yīng)用。應(yīng)用時(shí),將三菱PLC與脈沖計(jì)數(shù)器相連,實(shí)現(xiàn)控制與數(shù)據(jù)采集功能。采用CCLinkIE到ModbusTCP的網(wǎng)關(guān)轉(zhuǎn)換方式,解決不
    的頭像 發(fā)表于 08-26 16:58 ?469次閱讀
    由倍訊科技研制的CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān),可達(dá)成與<b class='flag-5'>脈沖計(jì)數(shù)</b>器的連接

    何時(shí)使用 GPIO 中斷外部中斷

    何時(shí)使用 GPIO 中斷外部中斷?
    發(fā)表于 08-26 07:27

    佛瑞亞如何通過(guò)信息技術(shù)推動(dòng)業(yè)務(wù)增長(zhǎng)

    在數(shù)字化、信息化的浪潮下,信息技術(shù)已經(jīng)不僅是后臺(tái)工具,更成為驅(qū)動(dòng)企業(yè)發(fā)展的關(guān)鍵力量。本期Women Inspiring Mobility,我們采訪了佛瑞亞中國(guó)區(qū)信息技術(shù)總監(jiān)馬瑛,了解她和團(tuán)隊(duì)如何將
    的頭像 發(fā)表于 07-29 14:00 ?702次閱讀

    飛騰主板為信創(chuàng)產(chǎn)業(yè)發(fā)展提高硬實(shí)力

    信息技術(shù)飛速發(fā)展的當(dāng)下,信創(chuàng)產(chǎn)業(yè)已成為我國(guó)實(shí)現(xiàn)科技自立自強(qiáng)、保障國(guó)家信息安全的關(guān)鍵領(lǐng)域。信創(chuàng),即信息技
    的頭像 發(fā)表于 07-22 18:20 ?530次閱讀

    DEKRA德凱成為沙特通信和信息技術(shù)設(shè)備技術(shù)法規(guī)認(rèn)證機(jī)構(gòu)

    近日,DEKRA德凱成功獲得沙特標(biāo)準(zhǔn)、計(jì)量和質(zhì)量組織(SASO)認(rèn)可,正式成為沙特通信和信息技術(shù)設(shè)備技術(shù)法規(guī)(Technical Regulation for Communications
    的頭像 發(fā)表于 07-15 14:27 ?709次閱讀

    開疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接脈沖計(jì)數(shù)器配置案例

    本案例是三菱PLC通過(guò)CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接脈沖計(jì)數(shù)器的配置案例,具體配置如下。 配置過(guò)程: 首先設(shè)置從站通訊參數(shù) 主要設(shè)置IP地址,工作模式以及端口號(hào)(Modbus默認(rèn)502
    的頭像 發(fā)表于 06-25 17:49 ?359次閱讀
    開疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接<b class='flag-5'>脈沖計(jì)數(shù)</b>器配置案例

    經(jīng)過(guò)光耦之后,脈沖計(jì)數(shù)功能為什么不能實(shí)現(xiàn)?

    設(shè)置PA0為普通定時(shí)器,復(fù)用推挽輸出,但是發(fā)現(xiàn)信號(hào)經(jīng)過(guò)光耦之后高電平不到2V,不能進(jìn)行脈沖計(jì)數(shù),如果設(shè)置成中斷輸入,高電平是3.3V,請(qǐng)問(wèn)這是啥原因?現(xiàn)有的電路能否實(shí)現(xiàn)脈沖計(jì)數(shù)功能?
    發(fā)表于 06-17 06:08

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國(guó)家推動(dòng)IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國(guó)家網(wǎng)絡(luò)安全、推動(dòng)產(chǎn)業(yè)升級(jí)和
    的頭像 發(fā)表于 06-13 10:06 ?6124次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    第六章 外部中斷

    本章介紹W55MH32的IO口作為外部中斷輸入的使用。先闡述了NVIC(嵌套向量中斷控制器) 的結(jié)構(gòu)、寄存器、優(yōu)先級(jí)及相關(guān)函數(shù),再說(shuō)明EXTI(外部
    的頭像 發(fā)表于 05-26 16:27 ?974次閱讀
    第六章 <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實(shí)驗(yàn)簡(jiǎn)介本實(shí)驗(yàn)將演示如何在小凌派-RK2206開發(fā)板上使用IOT庫(kù)的GPIO中斷模式,進(jìn)行GPIO編程開發(fā)。例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置GPIO
    的頭像 發(fā)表于 04-21 10:39 ?874次閱讀
    基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制<b class='flag-5'>GPIO</b><b class='flag-5'>中斷</b>

    GPIO模塊與其他外設(shè)的連接方法

    輸入或輸出模式。在輸入模式下,GPIO引腳可以讀取外部信號(hào)的狀態(tài);在輸出模式下,它們可以向外部設(shè)備發(fā)送信號(hào)。此外,GPIO引腳還可以被配置為特殊功能,如
    的頭像 發(fā)表于 01-09 09:48 ?1466次閱讀

    飛騰助力首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿落幕

    近日,由中國(guó)教育技術(shù)協(xié)會(huì)主辦,教育部教育管理信息中心教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信創(chuàng)工委會(huì)支持,北京航空航天
    的頭像 發(fā)表于 12-24 09:57 ?751次閱讀