亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stm32_eval.c

?? stm32+ucos-ii
?? C
?? 第 1 頁 / 共 2 頁
字號:
/**
  ******************************************************************************
  * @file    stm32_eval.c
  * @author  MCD Application Team
  * @version V3.1.2
  * @date    09/28/2009
  * @brief   This file provides firmware functions to manage Leds, push-buttons 
  *          and COM ports available on STM32 Evaluation Boards from STMicroelectronics.
  ******************************************************************************
  * @copy
  *
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  *
  * <h2><center>&copy; COPYRIGHT 2009 STMicroelectronics</center></h2>
  */ 
  
/* Includes ------------------------------------------------------------------*/
#include "stm32_eval.h"

/** @addtogroup Utilities
  * @{
  */ 
  
/** @defgroup STM32_EVAL 
  * @brief This file provides firmware functions to manage Leds, push-buttons 
  *        and COM ports available on STM32 Evaluation Boards from STMicroelectronics.
  * @{
  */ 

/** @defgroup STM32_EVAL_Private_TypesDefinitions
  * @{
  */ 
/**
  * @}
  */ 


/** @defgroup STM32_EVAL_Private_Defines
  * @{
  */ 
/**
  * @}
  */ 


/** @defgroup STM32_EVAL_Private_Macros
  * @{
  */ 
/**
  * @}
  */ 


/** @defgroup STM32_EVAL_Private_Variables
  * @{
  */ 
GPIO_TypeDef* GPIO_PORT[LEDn] = {LED1_GPIO_PORT, LED2_GPIO_PORT, LED3_GPIO_PORT,
                                 LED4_GPIO_PORT};
const uint16_t GPIO_PIN[LEDn] = {LED1_GPIO_PIN, LED2_GPIO_PIN, LED3_GPIO_PIN,
                                 LED4_GPIO_PIN};
const uint32_t GPIO_CLK[LEDn] = {LED1_GPIO_CLK, LED2_GPIO_CLK, LED3_GPIO_CLK,
                                 LED4_GPIO_CLK};

#ifdef USE_STM3210C_EVAL
 GPIO_TypeDef* BUTTON_PORT[BUTTONn] = {WAKEUP_BUTTON_PORT, TAMPER_BUTTON_PORT,
                                       KEY_BUTTON_PORT}; 

 const uint16_t BUTTON_PIN[BUTTONn] = {WAKEUP_BUTTON_PIN, TAMPER_BUTTON_PIN,
                                       KEY_BUTTON_PIN}; 

 const uint32_t BUTTON_CLK[BUTTONn] = {WAKEUP_BUTTON_CLK, TAMPER_BUTTON_CLK,
                                       KEY_BUTTON_CLK};

 const uint16_t BUTTON_EXTI_LINE[BUTTONn] = {WAKEUP_BUTTON_EXTI_LINE,
                                             TAMPER_BUTTON_EXTI_LINE, 
                                             KEY_BUTTON_EXTI_LINE};

 const uint16_t BUTTON_PORT_SOURCE[BUTTONn] = {WAKEUP_BUTTON_PORT_SOURCE,
                                               TAMPER_BUTTON_PORT_SOURCE, 
                                               KEY_BUTTON_PORT_SOURCE};
								 
 const uint16_t BUTTON_PIN_SOURCE[BUTTONn] = {WAKEUP_BUTTON_PIN_SOURCE,
                                              TAMPER_BUTTON_PIN_SOURCE, 
                                              KEY_BUTTON_PIN_SOURCE}; 
 const uint16_t BUTTON_IRQn[BUTTONn] = {WAKEUP_BUTTON_IRQn, TAMPER_BUTTON_IRQn,
                                        KEY_BUTTON_IRQn};

USART_TypeDef* COM_USART[COMn] = {EVAL_COM1, EVAL_COM2}; 

GPIO_TypeDef* COM_TX_PORT[COMn] = {EVAL_COM1_TX_GPIO_PORT, EVAL_COM2_TX_GPIO_PORT};
 
GPIO_TypeDef* COM_RX_PORT[COMn] = {EVAL_COM1_RX_GPIO_PORT, EVAL_COM2_RX_GPIO_PORT};
 
const uint32_t COM_USART_CLK[COMn] = {EVAL_COM1_CLK, EVAL_COM2_CLK};

const uint32_t COM_TX_PORT_CLK[COMn] = {EVAL_COM1_TX_GPIO_CLK, EVAL_COM2_TX_GPIO_CLK};
 
const uint32_t COM_RX_PORT_CLK[COMn] = {EVAL_COM1_RX_GPIO_CLK, EVAL_COM2_RX_GPIO_CLK};

const uint16_t COM_TX_PIN[COMn] = {EVAL_COM1_TX_PIN, EVAL_COM2_TX_PIN};

const uint16_t COM_RX_PIN[COMn] = {EVAL_COM1_RX_PIN, EVAL_COM2_RX_PIN};
#else
 GPIO_TypeDef* BUTTON_PORT[BUTTONn] = {WAKEUP_BUTTON_PORT, TAMPER_BUTTON_PORT, 
                                       KEY_BUTTON_PORT, RIGHT_BUTTON_PORT,
                                       LEFT_BUTTON_PORT, UP_BUTTON_PORT,
                                       DOWN_BUTTON_PORT, SEL_BUTTON_PORT}; 

 const uint16_t BUTTON_PIN[BUTTONn] = {WAKEUP_BUTTON_PIN, TAMPER_BUTTON_PIN, 
                                       KEY_BUTTON_PIN, RIGHT_BUTTON_PIN,
                                       LEFT_BUTTON_PIN, UP_BUTTON_PIN,
                                       DOWN_BUTTON_PIN, SEL_BUTTON_PIN}; 

 const uint32_t BUTTON_CLK[BUTTONn] = {WAKEUP_BUTTON_CLK, TAMPER_BUTTON_CLK,
                                       KEY_BUTTON_CLK, RIGHT_BUTTON_CLK,
                                       LEFT_BUTTON_CLK, UP_BUTTON_CLK,
                                       DOWN_BUTTON_CLK, SEL_BUTTON_CLK};

 const uint16_t BUTTON_EXTI_LINE[BUTTONn] = {WAKEUP_BUTTON_EXTI_LINE,
                                             TAMPER_BUTTON_EXTI_LINE, 
                                             KEY_BUTTON_EXTI_LINE,
                                             RIGHT_BUTTON_EXTI_LINE,
                                             LEFT_BUTTON_EXTI_LINE,
                                             UP_BUTTON_EXTI_LINE,
                                             DOWN_BUTTON_EXTI_LINE,
                                             SEL_BUTTON_EXTI_LINE};

 const uint16_t BUTTON_PORT_SOURCE[BUTTONn] = {WAKEUP_BUTTON_PORT_SOURCE,
                                               TAMPER_BUTTON_PORT_SOURCE, 
                                               KEY_BUTTON_PORT_SOURCE,
                                               RIGHT_BUTTON_PORT_SOURCE,
                                               LEFT_BUTTON_PORT_SOURCE,
                                               UP_BUTTON_PORT_SOURCE,
                                               DOWN_BUTTON_PORT_SOURCE,
                                               SEL_BUTTON_PORT_SOURCE};
								 
 const uint16_t BUTTON_PIN_SOURCE[BUTTONn] = {WAKEUP_BUTTON_PIN_SOURCE,
                                              TAMPER_BUTTON_PIN_SOURCE, 
                                              KEY_BUTTON_PIN_SOURCE,
                                              RIGHT_BUTTON_PIN_SOURCE,
                                              LEFT_BUTTON_PIN_SOURCE,
                                              UP_BUTTON_PIN_SOURCE,
                                              DOWN_BUTTON_PIN_SOURCE,
                                              SEL_BUTTON_PIN_SOURCE}; 

 const uint16_t BUTTON_IRQn[BUTTONn] = {WAKEUP_BUTTON_IRQn, TAMPER_BUTTON_IRQn, 
                                        KEY_BUTTON_IRQn, RIGHT_BUTTON_IRQn,
                                        LEFT_BUTTON_IRQn, UP_BUTTON_IRQn,
                                        DOWN_BUTTON_IRQn, SEL_BUTTON_IRQn};

 USART_TypeDef* COM_USART[COMn] = {EVAL_COM1, EVAL_COM2}; 

 GPIO_TypeDef* COM_PORT[COMn] = {EVAL_COM1_GPIO, EVAL_COM2_GPIO};

 const uint32_t COM_USART_CLK[COMn] = {EVAL_COM1_CLK, EVAL_COM2_CLK};

 const uint32_t COM_POR_CLK[COMn] = {EVAL_COM1_GPIO_CLK, EVAL_COM2_GPIO_CLK};

 const uint16_t COM_TX_PIN[COMn] = {EVAL_COM1_TxPin, EVAL_COM2_TxPin};

 const uint16_t COM_RX_PIN[COMn] = {EVAL_COM1_RxPin, EVAL_COM2_RxPin};

#endif 
/**
  * @}
  */ 


/** @defgroup STM32_EVAL_Private_FunctionPrototypes
  * @{
  */ 

/**
  * @}
  */ 


/** @defgroup STM32_EVAL_Private_Functions
  * @{
  */ 

/**
  * @brief  Configures LED GPIO.
  * @param  Led: Specifies the Led to be configured. 
  *   This parameter can be one of following parameters:
  *     @arg LED1
  *     @arg LED2
  *     @arg LED3
  *     @arg LED4
  * @retval None
  */
void STM_EVAL_LEDInit(Led_TypeDef Led)
{
  GPIO_InitTypeDef  GPIO_InitStructure;
  
  /* Enable the GPIO_LED Clock */
  RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE);

  /* Configure the GPIO_LED pin */
  GPIO_InitStructure.GPIO_Pin = GPIO_PIN[Led];
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure);
}

/**
  * @brief  Turns selected LED On.
  * @param  Led: Specifies the Led to be set on. 
  *   This parameter can be one of following parameters:
  *     @arg LED1
  *     @arg LED2
  *     @arg LED3
  *     @arg LED4  
  * @retval None
  */
void STM_EVAL_LEDOn(Led_TypeDef Led)
{
  GPIO_PORT[Led]->BRR = GPIO_PIN[Led];
}

/**
  * @brief  Turns selected LED Off.
  * @param  Led: Specifies the Led to be set off. 
  *   This parameter can be one of following parameters:
  *     @arg LED1
  *     @arg LED2
  *     @arg LED3

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频一区二区在线| 国产欧美一区二区三区网站| 欧美视频一区二区三区在线观看| 欧美午夜理伦三级在线观看| 日韩午夜三级在线| 国产精品久久久久久亚洲毛片| 一区二区三区不卡视频在线观看 | 欧美日韩免费电影| 精品免费视频一区二区| 亚洲欧美视频在线观看视频| 久久99久久精品| 日本高清成人免费播放| 国产日韩欧美高清| 日产欧产美韩系列久久99| 国产成都精品91一区二区三| 精品婷婷伊人一区三区三| 中文字幕精品在线不卡| 蜜臀av一区二区在线观看| 99久久久精品免费观看国产蜜| 亚洲精品一线二线三线无人区| 国产精品久久久久aaaa樱花| 久久精品国产成人一区二区三区| 色偷偷久久人人79超碰人人澡| 26uuu另类欧美亚洲曰本| 亚洲国产日韩精品| 在线亚洲+欧美+日本专区| 国产日本欧美一区二区| 美女爽到高潮91| 91精品啪在线观看国产60岁| 亚洲精品视频一区二区| 成人毛片老司机大片| 日韩免费在线观看| 久久精品二区亚洲w码| 欧美群妇大交群中文字幕| 亚洲综合精品久久| 91久久精品日日躁夜夜躁欧美| 欧美极品aⅴ影院| 国产传媒欧美日韩成人| 26uuu国产日韩综合| 蜜臀av性久久久久蜜臀av麻豆| 欧美群妇大交群的观看方式| 亚洲国产日韩在线一区模特| 欧美亚洲高清一区| 一区二区三区视频在线观看| 91久久免费观看| 亚洲欧美另类小说| 91影院在线观看| 亚洲综合一二区| 精品视频1区2区| 视频一区在线播放| 欧美高清视频在线高清观看mv色露露十八| 一区二区高清在线| 欧美三级电影一区| 热久久久久久久| 欧美一级黄色大片| 韩国一区二区三区| 久久品道一品道久久精品| 国产精品小仙女| 国产精品日韩精品欧美在线| 91啪在线观看| 亚洲午夜精品在线| 日韩欧美资源站| 国产在线视频一区二区三区| 国产无人区一区二区三区| 成人激情开心网| 天堂va蜜桃一区二区三区| 日韩一区二区三区电影在线观看| 麻豆一区二区在线| 国产精品入口麻豆原神| 欧美综合一区二区三区| 日韩电影在线免费观看| 久久久久亚洲蜜桃| 91老师片黄在线观看| 美女在线一区二区| 国产精品久久久久久久久久久免费看 | 日韩一区二区免费在线电影| 久久狠狠亚洲综合| 国产精品免费视频一区| 欧美色综合网站| 久久91精品久久久久久秒播| 国产精品久久国产精麻豆99网站| 色成年激情久久综合| 激情综合色播五月| 一区二区高清视频在线观看| 精品电影一区二区三区| 色噜噜久久综合| 国产在线播放一区| 亚洲午夜精品在线| 国产欧美视频一区二区| 欧美日韩www| 成人精品视频一区二区三区| 日本色综合中文字幕| 中文字幕中文字幕一区| 日韩三区在线观看| 在线观看中文字幕不卡| 国产麻豆视频一区二区| 天天色 色综合| 国产精品国产三级国产有无不卡| 在线成人av网站| 色又黄又爽网站www久久| 国产精选一区二区三区| 日韩在线观看一区二区| 亚洲欧洲制服丝袜| 国产嫩草影院久久久久| 日韩三级电影网址| 欧美日韩精品欧美日韩精品一综合| 国产精品一区二区久久精品爱涩| 亚洲va欧美va国产va天堂影院| 国产精品毛片大码女人| 国产日韩高清在线| 欧美变态tickling挠脚心| 777欧美精品| 欧美日韩一级二级三级| 欧美亚洲国产一区二区三区va| 国产黄人亚洲片| 精品一区二区在线看| 免费人成精品欧美精品| 午夜精品久久久久| 亚洲国产一区二区视频| 亚洲自拍欧美精品| 亚洲国产欧美一区二区三区丁香婷| 一区在线观看免费| 日韩毛片精品高清免费| 国产精品区一区二区三| 欧美激情一区二区| 欧美激情一区二区三区四区| 久久奇米777| 久久久精品2019中文字幕之3| 欧美成人一区二区三区在线观看| 欧美丰满一区二区免费视频| 欧美喷水一区二区| 精品视频免费看| 在线不卡欧美精品一区二区三区| 欧美群妇大交群中文字幕| 欧美日韩在线一区二区| 91麻豆精品国产| 日韩视频免费观看高清完整版| 欧美一区二区三区白人| 久久综合国产精品| 欧美国产综合一区二区| 亚洲国产成人在线| 亚洲欧美aⅴ...| 天天爽夜夜爽夜夜爽精品视频| 亚洲aaa精品| 久久9热精品视频| 粉嫩嫩av羞羞动漫久久久| www.成人在线| 欧美日韩国产综合草草| 日韩精品一区二区三区视频在线观看| 欧美精品一区视频| 国产精品福利一区二区三区| 亚洲综合清纯丝袜自拍| 视频一区欧美精品| 国产成人午夜片在线观看高清观看| 懂色av一区二区三区蜜臀| 不卡的av电影在线观看| 欧美在线综合视频| 日韩欧美中文字幕一区| 国产精品素人视频| 亚洲一区日韩精品中文字幕| 极品美女销魂一区二区三区免费| 高清免费成人av| 欧美性猛交一区二区三区精品| 日韩美女视频一区二区在线观看| 久久综合九色综合欧美就去吻| 国产精品网站一区| 午夜欧美大尺度福利影院在线看| 激情伊人五月天久久综合| 成人av网址在线| 欧美日韩第一区日日骚| 国产亚洲欧美日韩俺去了| 亚洲一区二区三区爽爽爽爽爽| 美女网站在线免费欧美精品| aa级大片欧美| 2021久久国产精品不只是精品| 136国产福利精品导航| 青草av.久久免费一区| 91视频你懂的| 久久久久久一二三区| 亚洲国产中文字幕| 成人免费观看视频| 精品噜噜噜噜久久久久久久久试看| 自拍av一区二区三区| 精品一区二区三区日韩| 色欧美日韩亚洲| 日本一区二区在线不卡| 美国毛片一区二区| 欧美人妖巨大在线| 亚洲欧美另类综合偷拍| 国产**成人网毛片九色| 日韩欧美亚洲一区二区| 亚洲国产精品一区二区www在线| 成人国产精品免费观看视频| 日韩免费福利电影在线观看| 亚洲最大的成人av| 久久久综合九色合综国产精品| 国产精品一区二区男女羞羞无遮挡| 国产老女人精品毛片久久| 蜜臀av国产精品久久久久 | 国产精品久久久久久久久图文区|