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

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

?? hw_config.c

?? STM32F10x USB Library V1.0
?? C
字號:
/******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
* File Name          : hw_config.c
* Author             : MCD Application Team
* Version            : V1.0
* Date               : 10/08/2007
* Description        : Hardware Configuration & Setup
********************************************************************************
* THE PRESENT SOFTWARE 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 SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x_lib.h"
#include "hw_config.h"
#include "usb_lib.h"

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
#define JOY_UP       GPIO_Pin_8  /* PD.08 */
#define JOY_DOWN     GPIO_Pin_14 /* PD.14 */
#define JOY_LEFT     GPIO_Pin_1  /* PE.01 */
#define JOY_RIGHT    GPIO_Pin_0  /* PE.00 */

/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
ErrorStatus HSEStartUpStatus;

/* Extern variables ----------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/

/*******************************************************************************
* Function Name  : Set_System
* Description    : Configures Main system clocks & power.
* Input          : None.
* Return         : None.
*******************************************************************************/
void Set_System(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

  /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/   
  /* RCC system reset(for debug purpose) */
  RCC_DeInit();

  /* Enable HSE */
  RCC_HSEConfig(RCC_HSE_ON);

  /* Wait till HSE is ready */
  HSEStartUpStatus = RCC_WaitForHSEStartUp();

  if(HSEStartUpStatus == SUCCESS)
  {
    /* Enable Prefetch Buffer */
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

    /* Flash 2 wait state */
    FLASH_SetLatency(FLASH_Latency_2);
 
    /* HCLK = SYSCLK */
    RCC_HCLKConfig(RCC_SYSCLK_Div1); 
  
    /* PCLK2 = HCLK */
    RCC_PCLK2Config(RCC_HCLK_Div1); 

    /* PCLK1 = HCLK/2 */
    RCC_PCLK1Config(RCC_HCLK_Div2);

    /* ADCCLK = PCLK2/6 */
    RCC_ADCCLKConfig(RCC_PCLK2_Div6);

    /* PLLCLK = 8MHz * 9 = 72 MHz */
    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

    /* Enable PLL */ 
    RCC_PLLCmd(ENABLE);

    /* Wait till PLL is ready */
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
    }

    /* Select PLL as system clock source */
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

    /* Wait till PLL is used as system clock source */
    while(RCC_GetSYSCLKSource() != 0x08)
    {
    }
  }
  
  /* Enable GPIOD and GPIOE clock */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE);
  
  /* PD.09 used as USB pull-up */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
  GPIO_Init(GPIOD, &GPIO_InitStructure);

  /* Configure the JoyStick IOs */
  /* Key up + Key down */
  GPIO_InitStructure.GPIO_Pin = JOY_UP | JOY_DOWN;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  GPIO_Init(GPIOD, &GPIO_InitStructure);

  /* Key left + Key right*/
  GPIO_InitStructure.GPIO_Pin = JOY_LEFT | JOY_RIGHT;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  GPIO_Init(GPIOE, &GPIO_InitStructure);
}

/*******************************************************************************
* Function Name  : Set_USBClock
* Description    : Configures USB Clock input (48MHz).
* Input          : None.
* Output         : None.
* Return         : None.
*******************************************************************************/
void Set_USBClock(void)
{
  /* Select USBCLK source */
  RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5);

  /* Enable USB clock */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);
}

/*******************************************************************************
* Function Name  : Enter_LowPowerMode.
* Description    : Power-off system clocks and power while entering suspend mode.
* Input          : None.
* Output         : None.
* Return         : None.
*******************************************************************************/
void Enter_LowPowerMode(void)
{
}

/*******************************************************************************
* Function Name  : Leave_LowPowerMode.
* Description    : Restores system clocks and power while exiting suspend mode.
* Input          : None.
* Output         : None.
* Return         : None.
*******************************************************************************/
void Leave_LowPowerMode(void)
{
}

/*******************************************************************************
* Function Name  : USB_Interrupts_Config.
* Description    : Configures the USB interrupts.
* Input          : None.
* Output         : None.
* Return         : None.
*******************************************************************************/
void USB_Interrupts_Config(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;

#ifdef  VECT_TAB_RAM  
  /* Set the Vector Table base location at 0x20000000 */ 
  NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
#else  /* VECT_TAB_FLASH */
  /* Set the Vector Table base location at 0x08000000 */
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);   
#endif 

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

  NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN_RX0_IRQChannel;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

/*******************************************************************************
* Function Name  : USB_Cable_Config.
* Description    : Software Connection/Disconnection of USB Cable.
* Input          : NewState: new state.
* Output         : None.
* Return         : None
*******************************************************************************/
void USB_Cable_Config (FunctionalState NewState)
{ 
  if (NewState != DISABLE)
  {
    GPIO_ResetBits(GPIOD, GPIO_Pin_9);
  }
  else
  {
    GPIO_SetBits(GPIOD, GPIO_Pin_9);
  }
}

/*******************************************************************************
* Function Name : JoyState.
* Description   : Decodes the Joystick direction.
* Input         : None.
* Output        : None.
* Return value  : The direction value.
*******************************************************************************/
u8 JoyState(void)
{
  /* "right" key is pressed */
  if (!GPIO_ReadInputDataBit(GPIOE, JOY_RIGHT))
  {
    return RIGHT;
  }
  /* "left" key is pressed */
  if (!GPIO_ReadInputDataBit(GPIOE, JOY_LEFT))
  {
    return LEFT;
  }
  /* "up" key is pressed */
  if (!GPIO_ReadInputDataBit(GPIOD, JOY_UP))
  {
    return UP;
  }
  /* "down" key is pressed */
  if (!GPIO_ReadInputDataBit(GPIOD, JOY_DOWN))
  {
    return DOWN;
  }
  /* No key is pressed */
  else
  {
    return 0;
  }
}

/*******************************************************************************
* Function Name : Joystick_Send.
* Description   : prepares buffer to be sent containing Joystick event infos.
* Input         : Keys: keys received from terminal.
* Output        : None.
* Return value  : None.
*******************************************************************************/
void Joystick_Send(u8 Keys)
{
  u8 Mouse_Buffer[4] = {0, 0, 0, 0};
  s8 X = 0, Y = 0;

  switch (Keys)
  {
    case LEFT:
      X -= CURSOR_STEP;
      break;
    case RIGHT:

      X += CURSOR_STEP;
      break;
    case UP:
      Y -= CURSOR_STEP;
      break;
    case DOWN:
      Y += CURSOR_STEP;
      break;
    default:
      return;
  }

  /* prepare buffer to send */
  Mouse_Buffer[1] = X;
  Mouse_Buffer[2] = Y;
  /*copy mouse position info in ENDP1 Tx Packet Memory Area*/
  UserToPMABufferCopy(Mouse_Buffer, GetEPTxAddr(ENDP1), 4);
  /* enable endpoint for transmission */
  SetEPTxValid(ENDP1);
}

/******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
proumb性欧美在线观看| 欧美最猛性xxxxx直播| 91视频在线观看免费| 欧美麻豆精品久久久久久| 国产欧美日韩在线观看| 亚洲成人综合视频| 成人黄色av电影| 久久一二三国产| 婷婷综合另类小说色区| av一区二区三区| 精品欧美乱码久久久久久1区2区| 亚洲色图视频免费播放| 国产毛片精品国产一区二区三区| 欧美日韩黄色影视| 亚洲一区日韩精品中文字幕| 国产99久久久精品| 精品少妇一区二区三区免费观看| 亚洲成人免费视| 色呦呦一区二区三区| 国产精品久久三区| 国产成人综合在线| 久久久久久久久久久黄色| 美女视频黄久久| 4438成人网| 天天综合天天综合色| 在线免费精品视频| 一区二区三区中文在线观看| www.性欧美| 国产精品福利电影一区二区三区四区 | 91女人视频在线观看| 久久久久国色av免费看影院| 久久99久久99小草精品免视看| 欧美日韩国产综合草草| 亚洲成av人影院在线观看网| 91黄色激情网站| 亚洲夂夂婷婷色拍ww47| 欧洲一区在线电影| 亚洲自拍欧美精品| 在线综合+亚洲+欧美中文字幕| 亚洲成av人片在线观看| 这里是久久伊人| 久久91精品国产91久久小草| 欧美精品一区二| 成人网男人的天堂| 亚洲婷婷在线视频| 欧美日韩一区二区在线观看视频| 丝袜亚洲精品中文字幕一区| 欧美一级免费观看| 国产毛片精品国产一区二区三区| 国产精品伦一区二区三级视频| 色综合久久久网| 五月天视频一区| 国产欧美日韩激情| 日本丰满少妇一区二区三区| 日韩激情视频在线观看| 精品国产成人在线影院| 丁香激情综合国产| 玉米视频成人免费看| 欧美挠脚心视频网站| 国产黄色91视频| 亚洲精品免费看| 欧美一区二区网站| 成人h版在线观看| 亚洲成人自拍偷拍| 国产亚洲短视频| 欧美影视一区二区三区| 国内精品伊人久久久久av影院| 欧美激情自拍偷拍| 欧美日韩精品一区视频| 粉嫩一区二区三区性色av| 亚洲一二三四久久| 欧美激情在线免费观看| 欧美日韩美少妇| 成人午夜电影小说| 奇米在线7777在线精品 | 粉嫩一区二区三区性色av| 亚洲综合一二三区| 久久久久亚洲蜜桃| 在线观看国产日韩| 国产69精品久久久久777| 亚洲一本大道在线| 欧美韩国一区二区| 欧美一区二区三区视频免费| 91蝌蚪porny| 国产精品一区二区视频| 日韩在线观看一区二区| 亚洲色图清纯唯美| 国产欧美久久久精品影院| 3d动漫精品啪啪1区2区免费 | 国产精品美日韩| 91精品欧美久久久久久动漫| 99国产精品久久久久久久久久久 | 精品一区二区三区免费观看| 亚洲第一二三四区| 日韩伦理av电影| 国产偷v国产偷v亚洲高清| 欧美一区二区三区视频在线观看 | 不卡一区中文字幕| 久久99深爱久久99精品| 亚洲444eee在线观看| 一区二区三区电影在线播| 中文字幕一区二区日韩精品绯色| 欧美精品一区二区三区在线播放| 7777精品伊人久久久大香线蕉最新版| 91热门视频在线观看| 成人黄色av电影| 成人avav在线| 不卡一区中文字幕| 不卡一区二区在线| 波波电影院一区二区三区| 国产传媒一区在线| 国产成人99久久亚洲综合精品| 国产在线精品不卡| 国产精品白丝jk白祙喷水网站| 狠狠色丁香婷综合久久| 国产一区二区在线观看免费| 精彩视频一区二区| 久久精品国产亚洲a| 久久99精品一区二区三区三区| 美日韩一级片在线观看| 精品无码三级在线观看视频| 国产精品资源站在线| 国产成人免费av在线| 99在线精品免费| 色婷婷av久久久久久久| 欧美美女网站色| 欧美成人一区二区| 国产日韩综合av| 国产精品国模大尺度视频| 亚洲欧美欧美一区二区三区| 亚洲精品国久久99热| 亚洲www啪成人一区二区麻豆| 日韩专区一卡二卡| 国产精品一级黄| 91小视频在线| 欧美剧情片在线观看| 欧美tickling网站挠脚心| 久久久.com| 一区2区3区在线看| 天天影视色香欲综合网老头| 久久99久久99小草精品免视看| 成人免费看的视频| 欧美三级电影精品| 国产亚洲女人久久久久毛片| 夜夜亚洲天天久久| 国产精品一区二区三区四区| 日本电影亚洲天堂一区| 精品处破学生在线二十三| 中文字幕一区二区三区av| 免费观看在线色综合| 99久久婷婷国产综合精品| 欧美美女bb生活片| 国产精品拍天天在线| 舔着乳尖日韩一区| heyzo一本久久综合| 91精品国产欧美日韩| 日韩一区中文字幕| 日本va欧美va精品发布| 99在线精品观看| 精品免费国产一区二区三区四区| 18欧美亚洲精品| 国产在线视频精品一区| 欧美色大人视频| 中文字幕在线不卡一区| 美女视频免费一区| 欧美午夜精品久久久| 国产婷婷精品av在线| 首页国产欧美日韩丝袜| 91香蕉视频污| 久久精品人人做| 日本va欧美va欧美va精品| 欧美在线免费观看亚洲| 国产精品日韩精品欧美在线| 久久国产精品一区二区| 欧美日韩国产在线播放网站| 中文字幕乱码亚洲精品一区| 免费成人在线播放| 欧美人牲a欧美精品| 亚洲女人****多毛耸耸8| 国产成人精品免费看| 欧美www视频| 奇米影视7777精品一区二区| 欧美吞精做爰啪啪高潮| 亚洲丝袜自拍清纯另类| 成人app在线观看| 国产精品久久久99| 国产99精品国产| 久久久久久黄色| 精品一区二区三区免费观看| 欧美一区二区三区视频免费| 亚洲一区二区三区四区五区黄| a在线欧美一区| 中文字幕亚洲综合久久菠萝蜜| 国产盗摄精品一区二区三区在线| 久久久高清一区二区三区| 美腿丝袜亚洲三区| 欧美电影免费观看高清完整版在线观看| 亚洲小说欧美激情另类| 在线观看欧美黄色| 婷婷国产在线综合|