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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3886|回復(fù): 0
收起左側(cè)

GPIO控制led程序

[復(fù)制鏈接]
ID:80436 發(fā)表于 2015-5-21 22:40 | 顯示全部樓層 |閱讀模式

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);
}




回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av手机在线 | av在线一区二区 | 国产福利在线免费观看 | 欧美日韩在线一区二区 | 国产精品久久久久久模特 | 欧美日本免费 | 国产丝袜一区二区三区免费视频 | 一区二区三区高清在线观看 | 久久av一区二区三区 | 精品日本中文字幕 | 久久久www成人免费无遮挡大片 | 亚洲一区二区三区四区五区中文 | 特黄视频 | 欧美日韩国产一区二区三区 | 国产一区二区三区四区五区3d | 久久久久网站 | 日韩淫片免费看 | 久久久精品综合 | 草久久 | 中文字幕在线网 | 欧美综合国产精品久久丁香 | 成人免费在线视频 | 国产日韩精品在线 | 99成人| 久久天堂| 色综合99 | 国产特一级黄色片 | 精品无码久久久久国产 | www312aⅴ欧美在线看 | 国产在线看片 | 中文字幕一区在线观看视频 | 久久亚洲精品视频 | 人人人干 | 99精品国产一区二区三区 | 国产二区av| 成人免费在线小视频 | 日韩一区二区免费视频 | 狠狠ri| 国产高清免费视频 | 日本精品免费在线观看 | 麻豆久久精品 |