久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: GPIO控制led程序 [打印本頁]

作者: liuqq    時間: 2015-5-21 22:40
標題: GPIO控制led程序

const GPIO_PIN_ID Pin_LED[] = {
  { GPIOD, 12 },
  { GPIOD, 13 },
  { GPIOD, 14 },
  { GPIOD, 15 }
};

#define NUM_LEDS (sizeof(Pin_LED)/sizeof(GPIO_PIN_ID))


/*-----------------------------------------------------------------------------
*      LED_Initialize:  Initialize LEDs
*
* Parameters: (none)
* Return:     (none)
*----------------------------------------------------------------------------*/
void LED_Initialize (void) {
  uint32_t n;

  /* Configure pins: Push-pull Output Mode (50 MHz) with Pull-down resistors */
  for (n = 0; n < NUM_LEDS; n++) {
    GPIO_PortClock   (Pin_LED[n].port, true);
    GPIO_PinWrite    (Pin_LED[n].port, Pin_LED[n].num, 0);
    GPIO_PinConfigure(Pin_LED[n].port, Pin_LED[n].num,
                      GPIO_MODE_OUTPUT,
                      GPIO_OUTPUT_PUSH_PULL,
                      GPIO_OUTPUT_SPEED_50MHz,
                      GPIO_PULL_DOWN);
  }
}


/*-----------------------------------------------------------------------------
*      LED_Uninitialize:  Uninitialize LEDs
*
* Parameters: (none)
* Return:     (none)
*----------------------------------------------------------------------------*/
void LED_Uninitialize (void) {
  uint32_t n;

  /* Configure pins: Input mode, without Pull-up/down resistors */
  for (n = 0; n < NUM_LEDS; n++) {
    GPIO_PinConfigure(Pin_LED[n].port, Pin_LED[n].num,
                      GPIO_MODE_INPUT,
                      GPIO_OUTPUT_PUSH_PULL,
                      GPIO_OUTPUT_SPEED_2MHz,
                      GPIO_NO_PULL_UP_DOWN);
  }
}

/*-----------------------------------------------------------------------------
*      LED_On: Turns on requested LED
*
* Parameters:  num - LED number
* Return:     (none)
*----------------------------------------------------------------------------*/
void LED_On (uint32_t num) {
  GPIO_PinWrite(Pin_LED[num].port, Pin_LED[num].num, 1);
}

/*-----------------------------------------------------------------------------
*      LED_Off: Turns off requested LED
*
* Parameters:  num - LED number
* Return:     (none)
*----------------------------------------------------------------------------*/
void LED_Off (uint32_t num) {
  GPIO_PinWrite(Pin_LED[num].port, Pin_LED[num].num, 0);
}

/*-----------------------------------------------------------------------------
*      LED_Out: Write value to LEDs
*
* Parameters:  val - value to be displayed on LEDs
* Return:     (none)
*----------------------------------------------------------------------------*/
void LED_Out (uint32_t val) {
  uint32_t n;

  for (n = 0; n < NUM_LEDS; n++) {
    if (val & (1<<n)) {
      LED_On (n);
    } else {
      LED_Off(n);
    }
  }
}

/*-----------------------------------------------------------------------------
*      LED_Num: Get number of available LEDs
*
* Parameters: (none)
* Return:      number of available LEDs
*----------------------------------------------------------------------------*/
uint32_t LED_Num (void) {
  return (NUM_LEDS);
}









歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 97视频在线播放 | 中文在线观看免费视频 | 亚洲精品aaa | 久久精品亚洲 | www.com国产| 性欧美8khd高清极品 | 国产一区二区三区久久 | 一区| 在线天堂视频 | 国产精品久久午夜夜伦鲁鲁 | 成人黄色免费网站 | 久久99免费视频 | 男人添女荫道口图片 | 国产福利在线 | 久久精品国产一区二区 | 亚洲www | 好色影院| 天天躁日日躁bbbbb | 香蕉视频国产 | a一级黄色片| 91青青草 | 亚洲精品福利 | 欧美日韩在线看 | 欧美日韩高清 | 黄色片网站视频 | 午夜激情在线观看 | 亚洲一区视频在线 | 日韩欧美一级 | 亚洲一区二区在线播放 | 欧美一级网站 | 国产色视频一区二区三区qq号 | 精品久久久久久久久久久久久 | 婷婷色在线 | 日本天堂在线观看 | 国产伦精品一区二区免费 | 91av在线免费观看 | 国产com| 国产精品久久久久久久久 | 超碰在线国产 | 国产成人av一区二区三区在线观看 | 日韩精品视频免费播放 |