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

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

?? bsp.c

?? SDIO文件系統forHMI-STM32
?? C
字號:
/*
*********************************************************************************************************
*                                     MICIRUM BOARD SUPPORT PACKAGE
*
*                             (c) Copyright 2007; Micrium, Inc.; Weston, FL
*
*               All rights reserved.  Protected by international copyright laws.
*               Knowledge of the source code may NOT be used to develop a similar product.
*               Please help us continue to provide the Embedded community with the finest
*               software available.  Your honesty is greatly appreciated.
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*
*                                        BOARD SUPPORT PACKAGE
*
*                                     ST Microelectronics STM32
*                                              with the
*                                   STM3210B-EVAL Evaluation Board
*
* Filename      : bsp.c
* Version       : V1.00
* Programmer(s) : Brian Nagel
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                             INCLUDE FILES
*********************************************************************************************************
*/

#define  BSP_GLOBALS
#include <includes.h>




static void RCC_Config(void)
{
  static volatile ErrorStatus HSEStartUpStatus = SUCCESS;
  /* 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);
 
     /* 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)
      {
      }
    }
}


static void GPIO_Config(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

   /* Enable GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOF|RCC_APB2Periph_GPIOG|RCC_APB2Periph_AFIO,ENABLE);

  /*LED管腳初始化*/
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;  //LED1,LED2,LED3,LED4
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽輸出
  GPIO_Init(GPIOF,&GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;	    //核心板上的LED
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽輸出
  GPIO_Init(GPIOC,&GPIO_InitStructure);


   /*UP-------------PG15
   	 LEFT-----------PG14
	 RIGHT----------PG13
	 SEL------------PG7
	 User-----------PG8
	 Wakeup---------PA0
	 Tamper---------PC13
	 DOWN-----------PD3	*/

  /*按鍵管腳初始化*/
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉輸入
  GPIO_Init(GPIOG,&GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉輸入
  GPIO_Init(GPIOD,&GPIO_InitStructure);



  /*LCD背光管腳初始化*/
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;	    
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽輸出
  GPIO_Init(GPIOA,&GPIO_InitStructure);

  //外部中斷管腳配置,觸摸屏的中斷輸入為PE6
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;	    
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  //浮空輸入
  GPIO_Init(GPIOE,&GPIO_InitStructure);
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource6);

}



static void SPI_Config(void) 
{ 
  GPIO_InitTypeDef  GPIO_InitStructure; 
  SPI_InitTypeDef   SPI_InitStructure; 

  //GPIOA Periph clock enable
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); 
  //GPIOF Periph clock enable
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF,ENABLE); 
  //SPI1 Periph clock enable 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE); 

  //Configure SPI1 pins: SCK, MISO and MOSI 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; 
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;   //復用推挽輸出
  GPIO_Init(GPIOA,&GPIO_InitStructure);  

  //配置觸摸屏片選信號PF10 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; 
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 	//推挽輸出
  GPIO_Init(GPIOF,&GPIO_InitStructure); 

  //配置觸摸屏Busy信號PE2
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉輸入
  GPIO_Init(GPIOE,&GPIO_InitStructure);

  // SPI1 Config for Touch Panel 
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; 
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master; 
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; 
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; 
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; 
  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;   
  SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128; 
  SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; 
  SPI_InitStructure.SPI_CRCPolynomial = 7; 
  SPI_Init(SPI1,&SPI_InitStructure); 

  // SPI1 enable  
  SPI_Cmd(SPI1,ENABLE);  
}



static void Interrupt_Config(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
  EXTI_InitTypeDef EXTI_InitStructure;

  /* Deinitializes the NVIC */
  NVIC_DeInit();

  /* Set the Vector Table base address at 0x08000000 */
  NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x00);

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

  NVIC_SystemHandlerPriorityConfig(SystemHandler_SysTick,0,0);
//NVIC_SystemHandlerPriorityConfig(SystemHandler_PSV,3,3);


  /* Enable the EXTI6 Interrupt */
  NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure); 

   
   /*Enable the EXTI Line6 Interrupt*/
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Line = EXTI_Line6;
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  EXTI_Init(&EXTI_InitStructure);  

}


static void SysTick_Config(void)
{
  RCC_ClocksTypeDef  rcc_clocks;
  CPU_INT32U         cnts;

  RCC_GetClocksFreq(&rcc_clocks);
  cnts = (CPU_INT32U)rcc_clocks.HCLK_Frequency/OS_TICKS_PER_SEC;
  SysTick_SetReload(cnts);
  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
  SysTick_CounterCmd(SysTick_Counter_Enable);
  SysTick_ITConfig(ENABLE);
}

/*
*********************************************************************************************************
*                                         BSP INITIALIZATION
*
* Description : This function should be called by your application code before you make use of any of the
*               functions found in this module.
*
* Arguments   : none
*********************************************************************************************************
*/

void  BSP_Init(void)
{
  RCC_Config();
  GPIO_Config();
  SPI_Config();
  Interrupt_Config();
  SysTick_Config();         /* Initialize the uC/OS-II tick interrupt */
  LcdBkColorON();
}


/*
*********************************************************************************************************
*                                     DISABLE ALL INTERRUPTS
*
* Description : This function disables all interrupts from the interrupt controller.
*
* Arguments   : None.
*
* Returns     : None.
*********************************************************************************************************
*/

void  BSP_IntDisAll (void)
{
   CPU_IntDis();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜天堂影视香蕉久久| 6080亚洲精品一区二区| 久久精品久久久精品美女| 樱花草国产18久久久久| 亚洲三级电影网站| 一级特黄大欧美久久久| 成人免费视频在线观看| 亚洲欧美另类小说| 亚洲精品免费在线播放| 亚洲综合视频网| 亚洲高清免费观看高清完整版在线观看| 亚洲欧美日韩国产综合在线| 亚洲欧美色综合| 亚洲高清免费在线| 裸体健美xxxx欧美裸体表演| 极品少妇一区二区| 国产精品一区二区男女羞羞无遮挡| 国产精品资源在线| 国产电影一区二区三区| 9i看片成人免费高清| 欧美亚洲综合一区| 欧美一区二区黄| 国产嫩草影院久久久久| 亚洲视频免费在线观看| 午夜欧美大尺度福利影院在线看| 美女爽到高潮91| 国产精品12区| 色94色欧美sute亚洲13| 337p亚洲精品色噜噜| 久久久久成人黄色影片| 亚洲精品视频免费观看| 亚洲成人7777| 国产在线不卡视频| 555www色欧美视频| 日韩国产高清在线| 粉嫩13p一区二区三区| 成人久久视频在线观看| 在线观看91视频| 久久九九全国免费| 亚洲电影第三页| 国产成人在线观看免费网站| 91啪九色porn原创视频在线观看| 欧美一区二区国产| 亚洲精品日产精品乱码不卡| 久国产精品韩国三级视频| 91美女蜜桃在线| 久久久国际精品| 偷拍与自拍一区| www.亚洲在线| 久久久三级国产网站| 三级亚洲高清视频| 99精品国产热久久91蜜凸| 精品免费日韩av| 亚洲国产成人av好男人在线观看| 国产宾馆实践打屁股91| 日韩欧美综合一区| 亚洲.国产.中文慕字在线| 99v久久综合狠狠综合久久| 精品国产凹凸成av人导航| 亚洲国产另类精品专区| 99国产精品一区| 国产精品免费免费| 韩国中文字幕2020精品| 日韩欧美电影一二三| 日本一区免费视频| av一区二区三区黑人| 午夜精品久久久久久久蜜桃app| 欧美tickling网站挠脚心| voyeur盗摄精品| 日韩精品一二区| 国产精品的网站| 日韩欧美国产小视频| 91亚洲午夜精品久久久久久| 男男视频亚洲欧美| 中文字幕在线不卡国产视频| 欧美一区二区不卡视频| 99久久精品国产网站| 热久久一区二区| 91麻豆成人久久精品二区三区| 精品视频在线免费| 亚洲成人第一页| 91精品国产乱码| 裸体歌舞表演一区二区| 亚洲精品在线观看网站| 欧美日韩国产天堂| 亚洲国产成人精品视频| 69堂精品视频| 另类小说视频一区二区| 久久综合久久99| 久久综合色天天久久综合图片| 福利电影一区二区三区| 久久国产精品99精品国产| 亚洲综合色在线| 99久久婷婷国产综合精品| 国产精品污网站| 欧美在线播放高清精品| 日韩av在线免费观看不卡| 亚洲精品一区在线观看| 成人av网站在线观看免费| 一区二区三区欧美日韩| 这里只有精品电影| 夫妻av一区二区| 亚洲国产成人tv| 久久久91精品国产一区二区三区| 成人动漫中文字幕| 午夜国产不卡在线观看视频| 精品乱码亚洲一区二区不卡| 成人黄色国产精品网站大全在线免费观看| 亚洲色图制服丝袜| 日韩视频免费观看高清完整版 | 久久精品国产久精国产爱| 久久综合九色欧美综合狠狠| 9久草视频在线视频精品| 天天爽夜夜爽夜夜爽精品视频| 久久亚洲影视婷婷| 欧美探花视频资源| 国产成人精品免费| 日韩高清不卡一区二区三区| 中文字幕av一区二区三区 | 精品一区二区久久久| 自拍偷拍欧美精品| 精品国产露脸精彩对白| 色婷婷久久久久swag精品| 九色综合国产一区二区三区| 一区二区三区色| 欧美国产一区视频在线观看| 3d成人h动漫网站入口| 99在线精品免费| 国产精品99久久久久久似苏梦涵| 亚洲国产成人av网| 亚洲免费观看高清完整| 国产香蕉久久精品综合网| 欧美一区二区精美| 欧美日韩精品一区二区三区四区 | 综合久久久久久久| 欧美精品一区二区三区久久久 | 激情伊人五月天久久综合| 一区二区三区中文字幕| 亚洲国产精品成人综合| 精品国内片67194| 日韩一区二区三区免费看 | 免费久久99精品国产| 亚洲女与黑人做爰| 亚洲色图视频免费播放| 国产精品久久综合| 国产精品午夜久久| 久久美女艺术照精彩视频福利播放| 91精品国产欧美一区二区成人| 欧美主播一区二区三区美女| 色综合久久中文综合久久97| 99久久99久久综合| 99久久精品免费| av激情成人网| 91免费国产在线| 色哟哟国产精品| 色综合久久综合网97色综合| 97久久精品人人做人人爽50路| 91麻豆自制传媒国产之光| 99综合电影在线视频| 91精品国产一区二区三区香蕉| 欧美亚日韩国产aⅴ精品中极品| 日本韩国欧美在线| 精品视频一区二区不卡| 制服丝袜av成人在线看| 日韩欧美视频在线| 久久综合狠狠综合久久综合88| 欧美成人vr18sexvr| 精品国产欧美一区二区| 国产性色一区二区| 亚洲欧洲av色图| 亚洲午夜国产一区99re久久| 午夜国产不卡在线观看视频| 久久国产日韩欧美精品| 国产美女在线精品| 99国产精品视频免费观看| 欧美日韩午夜在线视频| 日韩亚洲欧美成人一区| 久久久亚洲综合| 亚洲欧美国产高清| 日韩av一二三| 国产成人99久久亚洲综合精品| 91免费小视频| 欧美一区二区三区免费| 国产精品女同互慰在线看| 亚洲综合网站在线观看| 精品一区二区三区欧美| av电影天堂一区二区在线观看| 欧美日韩在线观看一区二区| 精品国产一区二区三区久久久蜜月 | 一本色道久久综合亚洲精品按摩| 欧美日韩三级在线| 国产精品区一区二区三| 天天色天天操综合| 成人免费黄色大片| 欧美乱妇23p| 1024精品合集| 国产一区二区三区四区五区入口| 欧美中文一区二区三区| 国产香蕉久久精品综合网| 天堂一区二区在线免费观看|