资源简介

stm32f103进行同步规则进行转换,其中代码做了比较详细的注释,对于同步规则中的参数进行了实验,欢迎大家指正。

资源截图

代码片段和文件信息

 #include 
#include “adc.h“
#include “LED.h“
//本例程作为adc定时双路采集
//朱明辉 2012.11.17
   
//初始化ADC
//这里我们仅以同步注入通道为例
//我们默认将开启通道0~1
void  Adc_Init(void)
{    
//先初始化IO口
/*
  RCC->APB2ENR|=1<<2;    //使能PA口时钟
GPIOA->CRL&=0XFFFFF0F0;//PA0 2anolog输入 ///
   */
  RCC->APB2ENR|=1<<2;    //使能PA口时钟
GPIOA->CRL&=0XFFFFFFF0;//PA0 1anolog输入 ///
RCC->APB2ENR|=1<<4;    //使能PC口时钟
GPIOA->CRL&=0XFFFFFFF0;//PC0 1anolog输入 ///
 
RCC->APB2ENR|=3<<9;    //ADC1.2时钟使能   
RCC->APB2RSTR|=3<<9;   //ADC1.2复位
RCC->APB2RSTR&=~(3<<9);//复位结束     
RCC->CFGR&=~(2<<14);   //分频因子清零
    RCC->CFGR|=2<<14;//6分频 
//SYSCLK/DIV2=12M ADC时钟设置为12MADC最大时钟不能超过14M!
//否则将导致ADC准确度下降! 

       
//SET ADC 
ADC1->CR1|=0X6<<16;
ADC2->CR1|=0X6<<16;// 同步规则通道
ADC1->CR1|=1<<5;
ADC2->CR1|=1<<5;// EOCIE使能

ADC1->CR2|=1<<20;//外部触发时能
    ADC2->CR2|=1<<20;//外部触发时能
ADC1->CR2|=0X3<<17;//ADC1 选择TIM2CC2触发
    ADC2->CR2|=0X7<<17;//ADC2 选择软件触发
               
       //PA0默认为ADC1输入
ADC1->CR2&=~(1<<1);
ADC2->CR2&=~(1<<1); //非连续模式
ADC1->CR2|=1<<8;  //开启dma请求

/*
ADC1->SQR3&=~(0x1f<<0);     
    ADC1->SQR3|=0<<0;  //通道2  ADC1.0=PA0口作为第一个转换

ADC2->SQR3&=~(0x1f<<0);     
    ADC2->SQR3|=2<<0;  //通道2  ADC2.2=PA2口作为第一个转换
*/
/*
ADC1->SQR3&=~(0x1f<<0);     
    ADC1->SQR3|=2<<0;  //通道2  ADC1.2=PA2口作为第一个转换

ADC2->SQR3&=~(0x1f<<0);     
    ADC2->SQR3|=0<<0;  //通道2  ADC2.0=PA0口作为第一个转换
*/
ADC1->SQR3&=~(0x1f<<0);     
    ADC1->SQR3|=0<<0;  //通道2  ADC1.0=PA0口作为第一个转换

ADC2->SQR3&=~(0x1f<<0);     
    ADC2->SQR3|=10<<0;  //通道2  ADC2.10=PC0口作为第一个转换 ******选择哪个通道,管脚就定了,因为通道决定了管脚******
//ADC0**PA0 ADC2**PA2>>>>

//start ADC1ADC2
ADC1->CR2|=1<<0;
    ADC2->CR2|=1<<0;     //开启AD转换器  
ADC1->CR2|=1<<3; 
ADC2->CR2|=1<<3;       //使能复位校准  
while(ADC1->CR2&1<<3);  
while(ADC2->CR2&1<<3); //等待校准结束   
    //该位由软件设置并由硬件清除。在校准寄存器被初始化后该位将被清除。   
ADC1->CR2|=1<<2;
ADC2->CR2|=1<<2;        //开启AD校准    
while(ADC1->CR2&1<<2);
while(ADC2->CR2&1<<2);  //等待校准结束
//该位由软件设置以开始校准,并在校准结束时由硬件清除
   
 

  
//MY_NVIC_Init(13ADC1_2_IRQChannel2);//打开tim3中断
 }
//void ADC_IRQHandler(void)
//{ 
//    if(ADC1->SR&(1<<1))
//   { 
//    ADC1->SR&=~(1<<1);
//    ADC2->SR&=~(1<<1);
//    LED1=!LED1;
//  
//    
//   }
//  
//}    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2667  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\adc\adc.c

     文件        291  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\adc\adc.h

     文件       1873  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\DMA\dma.c

     文件        688  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\DMA\dma.h

     文件       1756  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\EXTI\exti.c

     文件        628  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\EXTI\exti.h

     文件       1795  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\KEY\key.c

     文件        839  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\KEY\key.h

     文件        942  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\LED\led.c

     文件        288  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\LED\led.h

     文件       1870  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\TIMER\timer.c

     文件        599  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\TIMER\timer.h

     文件       2088  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\WDG\wdg.c

     文件        756  2013-11-15 14:30  ADC_同步规则—DMA传输\HARDWARE\WDG\wdg.h

     文件        399  2013-11-15 14:30  ADC_同步规则—DMA传输\keilkilll.bat

     文件        347  2013-11-15 14:30  ADC_同步规则—DMA传输\README.TXT

     文件       2038  2013-11-15 14:30  ADC_同步规则—DMA传输\SYSTEM\delay\delay.c

     文件        876  2013-11-15 14:30  ADC_同步规则—DMA传输\SYSTEM\delay\delay.h

     文件       6885  2013-11-15 14:30  ADC_同步规则—DMA传输\SYSTEM\sys\sys.c

     文件       3839  2013-11-15 14:30  ADC_同步规则—DMA传输\SYSTEM\sys\sys.h

     文件       3342  2013-11-15 14:30  ADC_同步规则—DMA传输\SYSTEM\usart\usart.c

     文件       1054  2013-11-15 14:30  ADC_同步规则—DMA传输\SYSTEM\usart\usart.h

     文件     150640  2013-11-15 14:30  ADC_同步规则—DMA传输\USER\adc.crf

     文件       1623  2013-11-15 14:30  ADC_同步规则—DMA传输\USER\adc.d

     文件     173900  2013-11-15 14:30  ADC_同步规则—DMA传输\USER\adc.o

     文件     148168  2013-11-15 14:30  ADC_同步规则—DMA传输\USER\delay.crf

     文件       1629  2013-11-15 14:30  ADC_同步规则—DMA传输\USER\delay.d

     文件     171508  2013-11-15 14:30  ADC_同步规则—DMA传输\USER\delay.o

     文件     150295  2013-11-15 14:30  ADC_同步规则—DMA传输\USER\dma.crf

     文件       1625  2013-11-15 14:30  ADC_同步规则—DMA传输\USER\dma.d

............此处省略63个文件信息

评论

共有 条评论