《電子技術(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亚洲国产精品_日韩亚洲一区二区
在线日韩电影| 夜夜嗨av一区二区三区中文字幕| 欧美国产在线观看| 巨乳诱惑日韩免费av| 久久久精品视频成人| 欧美在线视频免费| 亚洲欧美网站| 亚洲一区高清| 中文欧美字幕免费| 夜夜爽av福利精品导航 | av成人激情| 亚洲精品一区中文| 亚洲伦理久久| 亚洲精品日韩综合观看成人91| 亚洲电影免费在线| 伊人春色精品| 在线欧美日韩| 亚洲国产精品一区二区第四页av| 在线不卡亚洲| 亚洲福利视频免费观看| 亚洲电影激情视频网站| 亚洲国产小视频| 日韩亚洲成人av在线| 99精品福利视频| 亚洲视频你懂的| 亚洲女性裸体视频| 先锋影音久久久| 久久国产福利国产秒拍| 亚洲国产黄色| 亚洲经典三级| 一本久道久久久| 中文在线一区| 亚洲欧美中文日韩在线| 久久国产精品99久久久久久老狼| 午夜精品在线看| 久久精品成人欧美大片古装| 久久久水蜜桃av免费网站| 久久久精彩视频| 久久永久免费| 欧美激情精品久久久久久黑人 | 久久欧美中文字幕| 久久综合五月| 欧美另类videos死尸| 欧美日韩一区二区三区| 国产精品视频一| 国语对白精品一区二区| 1000部精品久久久久久久久| 亚洲免费av片| 亚洲一区二区三区免费视频 | 久久久久国色av免费看影院| 久久亚洲一区二区| 欧美精品在线免费观看| 国产精品理论片| 在线成人激情黄色| av成人福利| 亚洲高清免费视频| 亚洲深夜影院| 久久精品盗摄| 欧美精品97| 国产美女精品视频| 亚洲国产经典视频| 亚洲综合视频在线| 亚洲另类在线一区| 欧美一区二区免费观在线| 欧美xx69| 国产嫩草一区二区三区在线观看| **性色生活片久久毛片| 亚洲一区二区三区在线| 亚洲欧洲一区| 欧美一区二区三区啪啪| 欧美国产日韩一区二区| 国产女主播一区二区三区| 亚洲国产精品热久久| 亚洲综合首页| 洋洋av久久久久久久一区| 久久九九精品| 欧美日韩国产欧| 国内精品久久久久久久影视蜜臀 | 国产视频久久| 99国产精品99久久久久久| 欧美一区二区| 亚洲一区二区三区乱码aⅴ蜜桃女| 老司机精品视频网站| 国产精品美女久久久久久久| 亚洲激情视频在线观看| 欧美亚洲一区三区| 亚洲调教视频在线观看| 久久综合99re88久久爱| 国产精品亚发布| 亚洲乱码国产乱码精品精天堂| 亚洲成色777777女色窝| 西瓜成人精品人成网站| 欧美日韩国产在线播放| 亚洲风情亚aⅴ在线发布| 亚洲欧洲av一区二区三区久久| 在线中文字幕不卡| 久热精品视频在线观看一区| 国产欧美视频一区二区三区| 一本一本久久a久久精品综合麻豆| 91久久精品日日躁夜夜躁欧美| 久久精品成人一区二区三区蜜臀 | 中文欧美字幕免费| 亚洲美洲欧洲综合国产一区| 麻豆精品精华液| 国产亚洲欧美日韩一区二区| 亚洲一区二区三区免费视频| 亚洲一区二区动漫| 欧美日本国产在线| 亚洲国产精品专区久久 | 亚洲久久在线| 美女日韩欧美| 黑人操亚洲美女惩罚| 欧美资源在线| 久久久人成影片一区二区三区 | 欧美+日本+国产+在线a∨观看| 国产亚洲一区二区在线观看 | 亚洲精品裸体| 亚洲美女福利视频网站| 嫩草影视亚洲| 亚洲成人在线网站| 欧美在线一区二区| 久久精品综合一区| 韩国美女久久| 亚洲高清自拍| 麻豆成人精品| 亚洲电影观看| 亚洲精品视频在线播放| 欧美国产日韩一区二区在线观看| 亚洲电影欧美电影有声小说| 亚洲精品视频一区二区三区| 欧美精选一区| 99视频+国产日韩欧美| 在线视频一区二区| 欧美日韩p片| 日韩一级片网址| 亚洲欧美国产一区二区三区| 国产精品成人播放| 亚洲私人影院在线观看| 亚洲欧美在线观看| 国产欧美va欧美va香蕉在| 香蕉久久夜色精品国产使用方法| 久久国产一区二区| 狠久久av成人天堂| 亚洲人成啪啪网站| 欧美日韩国产一区精品一区| av成人免费在线| 欧美在线地址| 樱桃视频在线观看一区| 亚洲精品在线视频| 欧美日韩中文| 亚洲女同同性videoxma| 久久久久久香蕉网| 亚洲国产成人av| 一二美女精品欧洲| 国产精品国产三级国产普通话三级 | 国产一区欧美| 亚洲人成网站999久久久综合| 欧美激情国产日韩| 在线综合视频| 久久久久久自在自线| 亚洲第一视频| 亚洲与欧洲av电影| 国产尤物精品| 亚洲精品中文字幕女同| 国产精品毛片高清在线完整版| 性色一区二区三区| 欧美电影在线| 亚洲午夜激情在线| 久久露脸国产精品| 亚洲乱码国产乱码精品精| 欧美一级视频精品观看| 伊人成年综合电影网| 亚洲一区二区三区精品视频| 国产欧美日韩视频在线观看| 亚洲第一在线视频| 欧美揉bbbbb揉bbbbb| 午夜免费电影一区在线观看| 美女国产精品| 在线午夜精品自拍| 久久免费视频网站| 一区二区三区av| 久久久爽爽爽美女图片| 99亚洲一区二区| 久久久伊人欧美| 99国产欧美久久久精品| 久久久久综合| 亚洲视频专区在线| 麻豆精品精华液| 亚洲一二三四区| 女人色偷偷aa久久天堂| 亚洲伊人观看| 欧美久久久久| 欧美在线一级视频| 欧美视频在线观看免费| 亚洲电影自拍| 国产精品亚洲产品| 亚洲天堂成人在线视频| 黄色av日韩| 欧美一级视频| 99热免费精品|