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

專注電子技術學習與研究
當前位置:單片機教程網 >> STM32 >> 瀏覽文章

STM32 AD交替觸發模式

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年04月09日   【字體:

  今天配置了STM32 AD的交替觸發模式,采樣基本做到1us一個樣本了。

void  Adc_Init(u16 period)
{    
GPIO_InitTypeDef GPIO_InitStruct;
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AIN;
GPIO_Init(GPIOC,&GPIO_InitStruct);
   RCC->APB2ENR|=1<<9;    //ADC1時鐘使能  
   RCC->APB2ENR|=1<<10;   //ADC2時鐘使能
RCC->APB2RSTR|=1<<9;   //ADC1復位
RCC->APB2RSTR&=~(1<<9);//復位結束  

 
   RCC->APB2RSTR|=1<<10;   //ADC2復位
RCC->APB2RSTR&=~(1<<10);//復位結束  
RCC->CFGR&=~(3<<14);   //分頻因子清零
RCC->CFGR|=2<<14;      //SYSCLK/DIV2=12M ADC時鐘設置為12M,ADC最大時鐘不能超過14M!    
ADC1->CR1=0x00070000;
ADC1->CR2=0x00180100;
ADC1->SQR3=0x0000000A;
   ADC1->SMPR1=0x00000000;
ADC1->SMPR2=0x00000000;
ADC2->CR1=0x00000000;
ADC2->CR2=0x00180100;   
   ADC2->SQR3=0x0000000A;
ADC2->SMPR1=0x00000000;     //通道10  1.5周期,使用交替模式,采樣時間小于7.5 ADCclock 
ADC2->SMPR2=0x00000000;
   ADC1_DMA_Config((u32)&(ADC_conver),320);
  
   ADC1->CR2|=1<<0;     //開啟AD轉換器  
ADC1->CR2|=1<<3;        //使能復位校準  
while(ADC1->CR2&1<<3);  //等待校準結束  
     
ADC1->CR2|=1<<2;        //開啟AD校準   
while(ADC1->CR2&1<<2);  //等待校準結束
ADC2->CR2|=1<<0;     //開啟AD轉換器  
ADC2->CR2|=1<<3;        //使能復位校準  
while(ADC2->CR2&1<<3);  //等待校準結束  
     
ADC2->CR2|=1<<2;        //開啟AD校準   
while(ADC2->CR2&1<<2);  //等待校準結束
TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
   TIM_TimeBaseStructure.TIM_Period =period-1; //計數器值    
   TIM_TimeBaseStructure.TIM_Prescaler =0;//預分頻值,1分頻       
   TIM_TimeBaseStructure.TIM_ClockDivision =0x0; //采樣分頻72mhz   
   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上計數 
   TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);//初始化定時器結構體
TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Update);
TIM_Cmd(TIM3,ENABLE);

 
}  
void ADC1_DMA_Config(u32 MemoryAddress,u16 num)
{
DMA_InitTypeDef DMA_InitStructure;
 
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);
 
DMA_DeInit(DMA1_Channel1);
DMA_InitStructure.DMA_PeripheralBaseAddr=0x40012400+0x4c;
DMA_InitStructure.DMA_MemoryBaseAddr=MemoryAddress;
    DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralSRC;
DMA_InitStructure.DMA_BufferSize=num;
DMA_InitStructure.DMA_M2M=DMA_M2M_Disable;
DMA_InitStructure.DMA_Priority=DMA_Priority_VeryHigh;
DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_Word;
DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_Word;
DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Enable;
DMA_InitStructure.DMA_Mode=DMA_Mode_Circular;
DMA_Init(DMA1_Channel1,&DMA_InitStructure);
DMA_Cmd(DMA1_Channel1 ,ENABLE);
}
50k時的波形
 


 


 

 
100k時

 

 
10k時

 



 

 
關閉窗口

相關文章

主站蜘蛛池模板: 欧美激情一区二区三级高清视频 | 久草福利| 99久久精品国产一区二区三区 | 欧美日韩视频在线 | 在线中文字幕视频 | 成人影院一区二区三区 | 国产日产精品一区二区三区四区 | 日韩一级欧美一级 | 毛片的网址 | 视频第一区 | 久久精品性视频 | 久草a√ | 91国内外精品自在线播放 | 一区二区三区中文字幕 | 特黄视频 | 天天操网 | 久久不卡日韩美女 | 日韩在线视频精品 | av成人在线观看 | 新超碰97| 91视频在线观看 | 久久亚洲精品国产精品紫薇 | 国产欧美日韩在线观看 | 亚洲人成人一区二区在线观看 | 99久久99热这里只有精品 | 日日干日日 | 亚洲电影一区 | 在线看av的网址 | 成人不卡 | 国产精品99一区二区 | 欧美精品一区二区免费视频 | 午夜电影合集 | 九九视频在线观看 | 欧洲一区二区在线 | 青草久久免费视频 | 亚洲一区二区三区四区在线观看 | 欧美高清性xxxxhd | 亚洲精品99 | 欧美精品一区久久 | 久久精品网 | 色婷婷一区 |