《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 業(yè)界動態(tài) > WinCE下使用GPIO中斷功能

WinCE下使用GPIO中斷功能

2017-05-17
關(guān)鍵詞: interrupt WinCE GPIO

  1). 簡介

  GPIO的中斷功能對于嵌入式設(shè)備是一個基本功能,本文就基于WinCE系統(tǒng)演示GPIO中斷功能使用,所采用的嵌入式系統(tǒng)為Toradex Colibri iMX6S ARM計算機模塊配合Colibri EvaBoard開發(fā)載板。

  2). 準備

  a). Toradex ColibriiMX6S (基于NXP iMX6 Solo SoC) 計算機模塊配合ColibriEva Board開發(fā)載板。

  b). WinCE 使用Toradex發(fā)布的最新版WEC7鏡像V1.1Beta4版本。

  c). 調(diào)試中斷及GPIO所需的Library使用Toradex官方發(fā)布的CEiMX6 library 版本。

  d). 測試所使用的基準GPIO demo來自于上述library文件中的libdemo目錄。

  e). 測試所使用的基準Interruptdemo請從這里下載。

  3). 通過按鍵測試中斷應(yīng)用

  a). 首先通過按鍵輸入測試中斷,按照Interruptdemo配置,還需要一個GPIO輸出在接收到中斷后改變其所驅(qū)動的LED等狀態(tài)。在選擇GPIO的時候,請配合Colibri iMX6 手冊來選定未被系統(tǒng)默認功能占用的引腳,如果一定要一些被CE占用但對于產(chǎn)品并未使用功能的引腳,需要現(xiàn)在WinCE注冊表中禁止該功能驅(qū)動來釋放對應(yīng)管腳,否則會產(chǎn)生沖突,而是中斷程序獲取中斷統(tǒng)計異常,或者GPIO輸出被干擾。這里為了演示,就選擇模塊SODIMM Pin 49和43兩個管腳,默認被SD/MMC接口占用,49管腳作為中斷輸入,43管腳作為GPIO輸出驅(qū)動LED。

  b). 硬件連接,將Colibri Eva載板X10連接器 SODIMM_49和X21連接器SW6連接,并去掉對應(yīng)的X11 跳線帽;將X10連接器 SODIMM_43和X21連接器LED1連接,并去掉對應(yīng)的X11 跳線帽。

  c). iMX6 WEC7系統(tǒng)中如下方式在注冊表中關(guān)閉SD驅(qū)動,然后保存注冊表并重啟模塊。

  ----------------------------

  [HKLM\Drivers\BuiltIn\SDBusDriver]

  “Dll”= “_SDBus.dll

  ----------------------------

  d). 在VS2008中打開Interruptdemo程序,如下修改“interruptdemo.c”文件,中斷方式保持上升沿方式,只添加按鍵抖動過濾以及中斷次數(shù)統(tǒng)計代碼。同時由于下載的demo中自帶的庫版本較老,請使用最新版本的庫文件替換”inc”和”libs“目錄的文件。

  ----------------------------

  #define INTERRUPT_PIN  49                 ///<constant interrupt pin

  #define OUTPUT_PIN 43                 ///<constant output pin

  …

  BOOL pinLevelint =FALSE;                               ///< Variable to get irq pin current level

  int intCounter = 0;                                     ///< Variable to count irq numbers

  …

  if (retVal ==WAIT_OBJECT_0)

  {

  Sleep(10);                                                       ///< eliminate button jitter

  pinLevelint= Gpio_GetLevel(hGpio, interruptPin);

  if(pinLevelint == TRUE)

  {

  if(pinLevel == TRUE)

  {

  Gpio_SetLevel(hGpio, outputPin,ioLow);               ///< Set output pin(SODIMM 135) to low

  pinLevel = FALSE;

  }

  else

  {

  Gpio_SetLevel(hGpio, outputPin,ioHigh);        ///< Setoutput pin(SODIMM 135) to high

  pinLevel = TRUE;

  }

  intCounter = intCounter++;                                    ///< count interrupt triggered numbers

  printf("\nInterruptcounter : %d", intCounter);

  Int_InterruptDone(hIntr,systemInterrupt);

  }

  else

  /*if(MessageBox(NULL, L"Interrupt Event Detected, continue Waiting?",L"Interrupt", MB_YESNO) == IDNO)

  {

  break;

  }*/

  {

  Int_InterruptDone(hIntr,systemInterrupt);

  }

  …

  ----------------------------

  e). 編譯并部署程序并執(zhí)行,結(jié)果如下,每按鍵一次SW6,會記錄并打印一次中斷,同時LED1也會變換狀態(tài)。

  20170112165609949_w.jpg

  4). 通過PWM輸入測試中斷輸入

  a). 在上面測試的基礎(chǔ)上,選擇SODIMMPin 133作為PWM輸出GPIO,在Colibri Eva載板上面通過X10連接器將SODIMM_133和SODIMM_49互連。

  b). 在VS2008中打開Gpio demo程序,修改Gpio_Demo.c,設(shè)置pin為133,同時做周期為40ms的PWM波輸出。

  ----------------------------

  …

  uIo io1 = {133, ioColibriPin};

  …

  for(int i=0;i<20;i++)< span="">

  {

  Gpio_SetLevel      (hGpio, io1, ioHigh);

  Sleep(20);

  Gpio_SetLevel       (hGpio, io1, ioLow);

  Sleep(20);

  }

  …

  ----------------------------

  c). 編譯部署gpio demo到imx6核心板,先運行上面的interruptdemo,然后運行g(shù)piodemo,可以看到如下結(jié)果捕獲了20次中斷。

  20170112165610340_w.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
樱花yy私人影院亚洲| 日韩视频永久免费| 欧美欧美天天天天操| 久久综合色8888| 欧美中文在线视频| 午夜精品久久久久久久99热浪潮 | 亚洲一区二区三区涩| 亚洲美女精品成人在线视频| 亚洲激情社区| 亚洲国产精品999| 久久精品一区| 亚洲国产日韩一区| 亚洲青色在线| 亚洲免费av片| 日韩视频一区| 一个色综合av| 在线亚洲一区| 亚洲欧美在线高清| 性亚洲最疯狂xxxx高清| 午夜日韩在线观看| 久久国产主播精品| 久久免费视频在线观看| 久久久久免费视频| 麻豆精品在线观看| 欧美.日韩.国产.一区.二区| 美女亚洲精品| 欧美人与禽性xxxxx杂性| 欧美日韩国产天堂| 国产精品视频一二三| 国产欧美亚洲视频| 精品成人国产| 91久久在线观看| 夜夜嗨av一区二区三区网站四季av | 韩国一区电影| 亚洲国产日韩在线| 一区二区三区精品视频| 亚洲男人的天堂在线aⅴ视频| 国产精品久久久久久久久免费樱桃 | 亚洲一区二区三区午夜| 亚洲欧美影音先锋| 亚洲国产日韩一区| 国产精品99久久久久久人| 午夜精品久久久久久久99樱桃| 久久久激情视频| 欧美电影免费观看大全| 欧美日韩国产综合视频在线观看中文| 国产精品久久久久毛片软件| 国产亚洲一区二区在线观看| 亚洲国产婷婷| 亚洲在线电影| 亚洲精品国产精品久久清纯直播| 国产精品99久久99久久久二8| 久久av资源网站| 欧美久久久久中文字幕| 国产美女精品视频| 麻豆国产精品777777在线| 在线日韩成人| 亚洲毛片av| 欧美一区二区福利在线| 亚洲精品免费一二三区| 亚洲欧美在线磁力| 欧美激情欧美狂野欧美精品 | 亚洲国产欧美一区二区三区丁香婷| 日韩视频专区| 久久超碰97人人做人人爱| 日韩亚洲成人av在线| 欧美中文字幕在线播放| 欧美精品免费在线| 国产丝袜一区二区| 亚洲剧情一区二区| 久久精品91| 亚洲女人天堂成人av在线| 免费观看30秒视频久久| 国产精品毛片在线| 亚洲人成在线观看网站高清| 欧美一区二区三区精品| 中文精品视频| 欧美激情精品久久久久| 国产亚洲午夜| 亚洲一级影院| 这里只有精品视频| 蜜乳av另类精品一区二区| 国产精品一区二区三区久久| 亚洲靠逼com| 亚洲精品乱码| 久久精品一区二区三区不卡牛牛| 欧美精品九九| 在线免费精品视频| 篠田优中文在线播放第一区| 中文日韩在线| 欧美精品一区二区三区四区| 精品成人一区二区三区| 亚洲欧美一区二区激情| 中文在线不卡视频| 欧美精品在线一区二区| 伊人精品成人久久综合软件| 午夜视频在线观看一区二区| 亚洲一区二区三区免费视频| 欧美欧美在线| 91久久精品日日躁夜夜躁国产| 久久精品国产免费| 久久精彩视频| 亚洲婷婷在线| 亚洲一级黄色av| 亚洲夜间福利| 欧美日韩第一页| 亚洲激情亚洲| 亚洲精品一区二区三区蜜桃久| 快she精品国产999| 狠色狠色综合久久| 亚洲第一区色| 久久综合导航| 极品日韩av| 亚洲国产日韩欧美综合久久| 免费成人小视频| 亚洲高清av| 亚洲伦理在线观看| 欧美成人一品| 亚洲欧洲在线免费| 99精品久久久| 欧美日韩免费高清| 日韩午夜高潮| 亚洲视频碰碰| 国产精品家庭影院| 亚洲淫片在线视频| 欧美中文在线观看| 国内精品久久久久伊人av| 久久精品99国产精品日本| 久久久综合免费视频| 激情成人综合| 91久久久亚洲精品| 欧美激情一二区| 99国内精品久久| 亚洲免费在线视频一区 二区| 国产精品日日摸夜夜添夜夜av| 亚洲欧美在线另类| 久久综合伊人77777蜜臀| 樱花yy私人影院亚洲| 亚洲三级网站| 欧美午夜激情小视频| 亚洲一区二区三区中文字幕| 久久不射中文字幕| 在线观看视频一区| 中国成人亚色综合网站| 国产精品美女一区二区在线观看 | 午夜精品999| 另类激情亚洲| 亚洲精品国产欧美| 亚洲欧美国产制服动漫| 国产日韩精品一区观看| 亚洲高清在线观看| 欧美日韩国产欧美日美国产精品| 亚洲性线免费观看视频成熟| 久久久久久精| 亚洲人成久久| 午夜精品成人在线| 黄页网站一区| 中文国产亚洲喷潮| 国产欧美日韩综合一区在线播放 | 亚洲国产欧美日韩| 亚洲一区三区视频在线观看| 国产伦精品一区二区三区在线观看| 久久国产天堂福利天堂| 欧美另类在线播放| 欧美一级视频精品观看| 欧美二区不卡| 亚洲欧美日韩爽爽影院| 欧美v国产在线一区二区三区| 99视频在线精品国自产拍免费观看| 午夜亚洲一区| 亚洲国产精品传媒在线观看| 亚洲一区二区三区四区中文| 国产午夜精品理论片a级探花 | 亚洲精品麻豆| 欧美在线视频观看| 亚洲国产91色在线| 久久av在线看| 日韩亚洲不卡在线| 久久婷婷国产综合国色天香| 99re这里只有精品6| 久久久精品午夜少妇| 亚洲精品在线视频观看| 久久精品91| 一二三四社区欧美黄| 久久一区精品| 亚洲图片欧洲图片日韩av| 毛片基地黄久久久久久天堂| 亚洲一区二区三区在线| 欧美精品videossex性护士| 亚洲欧美在线看| 欧美肉体xxxx裸体137大胆| 亚洲国产精品久久人人爱蜜臀| 国产精品超碰97尤物18| 亚洲区一区二| 国产手机视频一区二区| 亚洲欧美激情视频| 亚洲人成网站在线观看播放| 久久婷婷综合激情| 亚洲影院色无极综合| 欧美伦理一区二区|