控制 Windows Mobile的LED

來源:互聯網
上載者:User

操作LED的API在coredll.dll裡面有,只是在SDK裡面沒有聲明。
首先,包含nled.h標頭檔以及聲明兩個函數(取得LED資訊和設定LED狀態)
# include < nled.h > extern " C "
{
  BOOL NLedGetDeviceInfo(INT nID, PVOID pOutput);
  BOOL NLedSetDevice(INT nID, PVOID pOutput);
}

 

下面的函數可以取得裝置上LED總數,如果你的PPC支援震動,那麼震動電機也是被當作一個LED來對待的

//============================================//
//   功能:   獲得裝置上LED總數目
//   參數:   無

//   返回:   裝置上LED總數目

//   日期:   2009/03/05.10:40--2009/03/05.17:45
//============================================//
int GetLedCount()
{
  NLED_COUNT_INFO nci;
  int wCount = 0;
     
  if(NLedGetDeviceInfo(NLED_COUNT_INFO_ID, (PVOID) &nci))
  wCount = (int) nci.cLeds;
         
  return wCount;
}       

 

下面的函數設定LED狀態

//============================================//
//   功能:   設定裝置上LED狀態
//   參數:   wLed,wStatus
//   (入口):  wLed      : 表示LED number. The first LED is zero (0).
//   (入口):  wStatus : 表示LED狀態0(關閉),1(開啟),2(閃爍)
//   返回:   無
//   日期:   2009/03/05.10:40--2009/03/05.17:45
//============================================//
void SetLedStatus(int wLed, int wStatus)
{
  NLED_SETTINGS_INFO nsi;
         
  nsi.LedNum = (INT) wLed;
  nsi.OffOnBlink = (INT) wStatus;

  NLedSetDevice(NLED_SETTINGS_INFO_ID, &nsi);
}

 

 

以操作LED0為例
關閉: SetLedStatus(0, 0);

點亮: SetLedStatus(0, 1);

閃爍: SetLedStatus(0, 2);

 

 

//================================================================//    
//   功能:   設定震動
//   參數:   bStart
//   (出口) bStart: TRUE為開始震動,FALSE為停止震動
//   返回:   無
//   日期:   2009/03/26.9:40--2009/03/26.21:45    
//================================================================//
void StartStopVibrate(BOOL bStart)
{
    NLED_SETTINGS_INFO settings;

    memset(&settings,0,sizeof(NLED_SETTINGS_INFO));
    settings.LedNum   = 1;

    if(bStart)
       settings.OffOnBlink = 1;
    else
       settings.OffOnBlink = 0;
    NLedSetDevice(NLED_SETTINGS_INFO_ID, &settings);
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.