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

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

?? stm32_adc_4.c

?? stm32 ADC程序 (第四個例子程序)
?? C
字號:
******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
* File Name          : main.c
* Author             : MCD Application Team
* Version            : V1.0
* Date               : 10/08/2007
* Description        : Main program body
********************************************************************************
* 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"

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
#define ADC1_DR_Address    ((u32)0x4001244C)

/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
ADC_InitTypeDef ADC_InitStructure;
DMA_InitTypeDef DMA_InitStructure;
vu32 ADC_DualConvertedValueTab[16];
ErrorStatus HSEStartUpStatus;
    
/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);
  
/* Private functions ---------------------------------------------------------*/

/*******************************************************************************
* Function Name  : main
* Description    : Main program
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
int main(void)
{
#ifdef DEBUG
  debug();
#endif

  /* System clocks configuration ---------------------------------------------*/
  RCC_Configuration();

  /* NVIC configuration ------------------------------------------------------*/
  NVIC_Configuration();

  /* GPIO configuration ------------------------------------------------------*/
  GPIO_Configuration();

  /* DMA channel1 configuration ----------------------------------------------*/
  DMA_DeInit(DMA_Channel1);
  DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)ADC1_DR_Address;
  DMA_InitStructure.DMA_MemoryBaseAddr = (u32)ADC_DualConvertedValueTab;
  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
  DMA_InitStructure.DMA_BufferSize = 16;
  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;
  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
  DMA_InitStructure.DMA_Priority = DMA_Priority_High;
  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
  DMA_Init(DMA_Channel1, &DMA_InitStructure);
  /* Enable DMA Channel1 */
  DMA_Cmd(DMA_Channel1, ENABLE);

  /* ADC1 configuration ------------------------------------------------------*/
  ADC_InitStructure.ADC_Mode = ADC_Mode_RegSimult;
  ADC_InitStructure.ADC_ScanConvMode = ENABLE;
  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
  ADC_InitStructure.ADC_NbrOfChannel = 2;
  ADC_Init(ADC1, &ADC_InitStructure);
  /* ADC1 regular channels configuration */ 
  ADC_RegularChannelConfig(ADC1, ADC_Channel_14, 1, ADC_SampleTime_239Cycles5);    
  ADC_RegularChannelConfig(ADC1, ADC_Channel_17, 2, ADC_SampleTime_239Cycles5);
  /* Enable ADC1 DMA */
  ADC_DMACmd(ADC1, ENABLE);

  /* ADC2 configuration ------------------------------------------------------*/
  ADC_InitStructure.ADC_Mode = ADC_Mode_RegSimult;
  ADC_InitStructure.ADC_ScanConvMode = ENABLE;
  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
  ADC_InitStructure.ADC_NbrOfChannel = 2;
  ADC_Init(ADC2, &ADC_InitStructure);
  /* ADC2 regular channels configuration */ 
  ADC_RegularChannelConfig(ADC2, ADC_Channel_10, 1, ADC_SampleTime_239Cycles5);
  ADC_RegularChannelConfig(ADC2, ADC_Channel_11, 2, ADC_SampleTime_239Cycles5);
  /* Enable ADC2 external trigger conversion */
  ADC_ExternalTrigConvCmd(ADC2, ENABLE);

  /* Enable ADC1 */
  ADC_Cmd(ADC1, ENABLE);
  /* Enable Vrefint channel17 */
  ADC_TempSensorVrefintCmd(ENABLE);

  /* Enable ADC1 reset calibaration register */   
  ADC_ResetCalibration(ADC1);
  /* Check the end of ADC1 reset calibration register */
  while(ADC_GetResetCalibrationStatus(ADC1));

  /* Start ADC1 calibaration */
  ADC_StartCalibration(ADC1);
  /* Check the end of ADC1 calibration */
  while(ADC_GetCalibrationStatus(ADC1));

  /* Enable ADC2 */
  ADC_Cmd(ADC2, ENABLE);

  /* Enable ADC2 reset calibaration register */   
  ADC_ResetCalibration(ADC2);
  /* Check the end of ADC2 reset calibration register */
  while(ADC_GetResetCalibrationStatus(ADC2));

  /* Start ADC2 calibaration */
  ADC_StartCalibration(ADC2);
  /* Check the end of ADC2 calibration */
  while(ADC_GetCalibrationStatus(ADC2));

  /* Start ADC1 Software Conversion */ 
  ADC_SoftwareStartConvCmd(ADC1, ENABLE);

  /* Test on Channel 1 DMA_FLAG_TC flag */
  while(!DMA_GetFlagStatus(DMA_FLAG_TC1));
  /* Clear Channel 1 DMA_FLAG_TC flag */
  DMA_ClearFlag(DMA_FLAG_TC1);

  while (1)
  {
  }
}

/*******************************************************************************
* Function Name  : RCC_Configuration
* Description    : Configures the different system clocks.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void RCC_Configuration(void)
{
  /* 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/4 */
    RCC_ADCCLKConfig(RCC_PCLK2_Div4); 
  
    /* PLLCLK = 8MHz * 7 = 56 MHz */
    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_7);

    /* 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 peripheral clocks --------------------------------------------------*/
  /* Enable DMA clock */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA, ENABLE);

  /* Enable ADC1, ADC2 and GPIOC clock */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC2 |
                         RCC_APB2Periph_GPIOC, ENABLE);
}

/*******************************************************************************
* Function Name  : GPIO_Configuration
* Description    : Configures the different GPIO ports.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void GPIO_Configuration(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

  /* Configure PC.00, PC.01 and PC.04 (ADC Channel10, Channel11 and Channel14)
    as analog input ----------------------------------------------------------*/
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
  GPIO_Init(GPIOC, &GPIO_InitStructure);
}

/*******************************************************************************
* Function Name  : NVIC_Configuration
* Description    : Configures Vector Table base location.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void NVIC_Configuration(void)
{
#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
}

#ifdef  DEBUG
/*******************************************************************************
* Function Name  : assert_failed
* Description    : Reports the name of the source file and the source line number
*                  where the assert_param error has occurred.
* Input          : - file: pointer to the source file name
*                  - line: assert_param error line source number
* Output         : None
* Return         : None
*******************************************************************************/
void assert_failed(u8* file, u32 line)
{ 
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

  /* Infinite loop */
  while (1)
  {
  }
}
#endif

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



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲电影在线播放| 91亚洲精品一区二区乱码| 国产麻豆成人精品| 91免费国产在线| 欧美mv和日韩mv的网站| 亚洲裸体xxx| 国产91综合网| 日韩午夜激情免费电影| 亚洲成人午夜电影| 不卡的av网站| 久久久av毛片精品| 日韩va欧美va亚洲va久久| 波多野结衣的一区二区三区| 91精品国产综合久久香蕉的特点| 国产精品国产三级国产三级人妇 | 亚洲理论在线观看| 精品写真视频在线观看| 欧美日韩免费观看一区三区| 综合久久国产九一剧情麻豆| 国产精品一二二区| 日韩欧美久久一区| 日本午夜一本久久久综合| 欧美特级限制片免费在线观看| 国产精品久久久久精k8| 成人夜色视频网站在线观看| 精品国产乱码久久久久久浪潮| 五月综合激情网| 在线精品视频免费播放| 亚洲色图欧美偷拍| 色综合天天综合网天天看片| 亚洲国产激情av| 成人免费视频视频在线观看免费| 久久伊99综合婷婷久久伊| 国内精品伊人久久久久影院对白| 欧美成人精品二区三区99精品| 日日骚欧美日韩| 日韩美女天天操| 老司机午夜精品99久久| 精品乱码亚洲一区二区不卡| 久久99国产精品免费| 久久综合九色综合97婷婷女人| 国产精品综合二区| 欧美激情一区二区三区不卡 | 国内精品免费在线观看| 欧美一区二区美女| 久久精品二区亚洲w码| 精品剧情v国产在线观看在线| 久久国产人妖系列| 久久久亚洲综合| gogo大胆日本视频一区| 亚洲综合视频在线观看| 欧美一区二区黄色| 国产成人aaa| 亚洲欧美综合在线精品| 在线看不卡av| 免费成人深夜小野草| 国产视频在线观看一区二区三区 | 精品一区二区三区在线观看国产| 久久久久青草大香线综合精品| 成人免费毛片嘿嘿连载视频| 一区二区三区精品视频在线| 91麻豆精品国产综合久久久久久 | 欧美日韩亚洲综合一区| 日日夜夜精品视频免费| 久久久精品免费网站| 91麻豆123| 裸体健美xxxx欧美裸体表演| 日本一区二区综合亚洲| 欧美系列在线观看| 精品一区二区国语对白| 亚洲欧洲成人精品av97| 欧美xxx久久| 91久色porny | 亚洲美女免费视频| 日韩一级黄色片| 色综合天天天天做夜夜夜夜做| 亚洲成av人片一区二区| 26uuu色噜噜精品一区| 色综合天天综合网天天狠天天 | 大尺度一区二区| 五月天激情小说综合| 国产香蕉久久精品综合网| 欧美日韩午夜精品| 成人久久视频在线观看| 国内偷窥港台综合视频在线播放| 一区二区三区自拍| 日本一区免费视频| 日韩欧美国产麻豆| 欧美视频三区在线播放| heyzo一本久久综合| 国产一区二区三区在线观看精品 | 国产日韩欧美一区二区三区综合| 在线观看亚洲精品视频| 国产成人精品www牛牛影视| 日韩av不卡一区二区| 一区二区三区四区不卡视频| 国产亚洲一区二区三区四区| 在线播放中文一区| 99热精品一区二区| 夫妻av一区二区| 国产一区二区在线观看视频| 另类综合日韩欧美亚洲| 香蕉影视欧美成人| 亚洲视频一二三区| **欧美大码日韩| 中文字幕乱码日本亚洲一区二区| 精品久久久久久久一区二区蜜臀| 欧美一区二区视频网站| 欧美三日本三级三级在线播放| 在线区一区二视频| 色偷偷久久一区二区三区| 91色综合久久久久婷婷| av毛片久久久久**hd| 懂色av一区二区三区蜜臀 | 久久se这里有精品| 日韩—二三区免费观看av| 亚洲成av人片一区二区三区| 午夜国产精品一区| 日韩高清不卡一区二区三区| 日产精品久久久久久久性色| 丝袜诱惑制服诱惑色一区在线观看 | 日本成人在线不卡视频| 日韩和欧美一区二区| 偷拍与自拍一区| 久久国产精品99久久人人澡| 久草精品在线观看| 国产成人亚洲精品青草天美| 成人动漫视频在线| 色爱区综合激月婷婷| 欧美男女性生活在线直播观看| 欧美一区二区大片| 精品国产电影一区二区| 中文字幕不卡在线| 亚洲免费色视频| 日韩精品一二三四| 国内一区二区视频| caoporen国产精品视频| 在线观看国产91| 欧美刺激午夜性久久久久久久| 久久久久国产一区二区三区四区 | 色av成人天堂桃色av| 欧美色倩网站大全免费| 精品理论电影在线| 亚洲天堂精品在线观看| 日韩中文字幕1| 国产高清视频一区| 日本高清不卡在线观看| 日韩欧美中文字幕精品| 中文一区一区三区高中清不卡| 一二三四社区欧美黄| 久久精品免费看| 一本一本久久a久久精品综合麻豆| 欧美日韩视频一区二区| 久久久久青草大香线综合精品| 一区二区三区在线看| 久久99精品视频| 一本高清dvd不卡在线观看| 日韩欧美www| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲bdsm女犯bdsm网站| 国产成人av电影在线播放| 欧美乱熟臀69xxxxxx| 中文一区在线播放| 精品亚洲porn| 欧美精品tushy高清| 最新久久zyz资源站| 久草中文综合在线| 欧美日本乱大交xxxxx| 中文字幕在线观看不卡视频| 日本不卡视频在线| 欧美亚洲动漫另类| 国产网站一区二区| 久久er99热精品一区二区| 在线精品视频免费观看| 国产精品久久网站| 麻豆免费看一区二区三区| 欧美日韩日日骚| 一区二区三区在线视频播放| 成人av在线一区二区三区| 2021久久国产精品不只是精品| 午夜视频一区在线观看| 色婷婷香蕉在线一区二区| 亚洲欧洲美洲综合色网| 国产综合一区二区| 337p日本欧洲亚洲大胆色噜噜| 午夜免费欧美电影| 欧美自拍偷拍午夜视频| 亚洲人123区| 色婷婷综合久久久中文字幕| 中文字幕在线不卡| 成人app软件下载大全免费| 久久精品免费在线观看| 国产福利一区二区三区视频| 精品国一区二区三区| 美女脱光内衣内裤视频久久网站| 56国语精品自产拍在线观看| 一级日本不卡的影视| 欧美日精品一区视频| 亚洲电影欧美电影有声小说| 91麻豆精品国产自产在线观看一区|