资源简介
通过外部PB11口进行捕获上升沿来触发ADC捕获,欢迎大家下载

代码片段和文件信息
#include
#include “adc.h“
#include “LED.h“
//本例程作为adc定时双路采集
//朱明辉 2012.11.17
//初始化ADC
//这里我们仅以同步注入通道为例
//我们默认将开启通道0~1
void Adc_Init(void)
{
//先初始化IO口
RCC->APB2ENR|=1<<2; //使能PORTA口时钟
RCC->APB2ENR|=1<<3; //使能PORTB口时钟
RCC->APB2ENR|=1<<4; //使能PORTC口时钟
GPIOA->CRL&=0XFFFFFFF0; //PA0为anolog输入
GPIOB->CRH&=0XFFFF0FFF;
GPIOB->CRH|=0X00008000; //PB11 下拉输入(默认)
Ex_NVIC_Config(GPIO_B11RTIR); //上升沿触发
GPIOC->CRH&=0XFF0FFFFF;
GPIOC->CRH|=0X00300000; //PC13 推免输出
//通道设置
RCC->APB2ENR|=1<<9; //ADC1时钟使能
RCC->APB2RSTR|=1<<9; //ADC1复位
RCC->APB2RSTR&=~(1<<9);//复位结束
RCC->CFGR&=~(3<<14); //分频因子清零
//SYSCLK/DIV2=8M ADC时钟设置为8MADC最大时钟不能超过14M!
//否则将导致ADC准确度下降!
RCC->CFGR|=3<<14; //8分频
ADC1->CR1&=0XF0FFFF; //工作模式清零
ADC1->CR1|=6<<16; //规则同步模式
ADC1->CR1|=1<<8; //扫描模式 扫描选中的1通道
ADC1->CR2|=0<<1; //单次转换模式
ADC1->CR2&=~(7<<17);
ADC1->CR2|=6<<17; //EXTI11线控制转换
ADC1->CR2|=1<<20; //使用用外部触发必须使用一个事件来触发
ADC1->CR2&=~(1<<11); //右对齐
ADC1->SQR1&=~(0XF<<20);
ADC1->SQR1|=0X00<<20; //1个转换在规则序列中
//设置通道的采样时间
ADC1->SMPR2&=~(7<<0); //通道0采样时间清空
ADC1->SMPR2|=7<<0; //通道0 239.5周期提高采样时间可以提高精确度
ADC1->SQR3&=~(0x1f<<0);
ADC1->SQR3|=0<<0; //通道0
/*
ADC1->SQR3&=~(0x1f<<0);
ADC1->SQR3|=2<<0; //通道2
ADC1->SQR3&=~(0x1f<<5);
ADC1->SQR3|=3<<5; //通道3
ADC1->SQR3&=~(0x1f<<10);
ADC1->SQR3|=4<<10; //通道4
ADC1->SQR3&=~(0x1f<<15);
ADC1->SQR3|=5<<15; //通道5
ADC1->SQR3&=~(0x1f<<20);
ADC1->SQR3|=6<<20; //通道6
ADC1->SQR3&=~(0x1f<<25);
ADC1->SQR3|=7<<25; //通道7
*/
ADC1->CR2|=1<<0; //开启ADC并启动转换
ADC1->CR2|=1<<3; //使能复位校准
while(ADC1->CR2&1<<3); //等待校准结束
//该位由软件设置并由硬件清除。在校准寄存器被初始化后该位将被清除。
ADC1->CR2|=1<<2; //开始AD校准
while(ADC1->CR2&1<<2); //等待校准结束
//该位由软件设置以开始校准,并在校准结束时由硬件清除
//ADC1->CR2|= 1<<8 ; //使用DMA模式转换
ADC1->CR2|=1<<22; //启动规则转换通道
ADC1->CR2|=0<<0; //关闭AD转换
}
u16 Get_Adc(u8 ch)
{
//设置转换序列
ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch
ADC1->SQR3|=ch;
ADC1->CR2|=1<<22; //启动规则转换通道
while(!(ADC1->SR&1<<1));//等待转换结束
return ADC1->DR; //返回adc值
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2739 2013-11-14 14:20 新建文件夹\HARDWARE\adc\adc.c
文件 392 2013-11-14 14:20 新建文件夹\HARDWARE\adc\adc.h
文件 1873 2013-11-14 14:20 新建文件夹\HARDWARE\DMA\dma.c
文件 688 2013-11-14 14:20 新建文件夹\HARDWARE\DMA\dma.h
文件 1756 2013-11-14 14:20 新建文件夹\HARDWARE\EXTI\exti.c
文件 628 2013-11-14 14:20 新建文件夹\HARDWARE\EXTI\exti.h
文件 1795 2013-11-14 14:20 新建文件夹\HARDWARE\KEY\key.c
文件 839 2013-11-14 14:20 新建文件夹\HARDWARE\KEY\key.h
文件 942 2013-11-14 14:20 新建文件夹\HARDWARE\LED\led.c
文件 288 2013-11-14 14:20 新建文件夹\HARDWARE\LED\led.h
文件 1869 2013-11-14 14:20 新建文件夹\HARDWARE\TIMER\timer.c
文件 599 2013-11-14 14:20 新建文件夹\HARDWARE\TIMER\timer.h
文件 2088 2013-11-14 14:20 新建文件夹\HARDWARE\WDG\wdg.c
文件 756 2013-11-14 14:20 新建文件夹\HARDWARE\WDG\wdg.h
文件 399 2013-11-14 14:20 新建文件夹\keilkilll.bat
文件 87 2013-11-14 14:20 新建文件夹\README.TXT
文件 2038 2013-11-14 14:20 新建文件夹\SYSTEM\delay\delay.c
文件 876 2013-11-14 14:20 新建文件夹\SYSTEM\delay\delay.h
文件 6885 2013-11-14 14:20 新建文件夹\SYSTEM\sys\sys.c
文件 3839 2013-11-14 14:20 新建文件夹\SYSTEM\sys\sys.h
文件 3342 2013-11-14 14:20 新建文件夹\SYSTEM\usart\usart.c
文件 1054 2013-11-14 14:20 新建文件夹\SYSTEM\usart\usart.h
文件 150951 2013-11-14 14:20 新建文件夹\USER\adc.crf
文件 1623 2013-11-14 14:20 新建文件夹\USER\adc.d
文件 174412 2013-11-14 14:20 新建文件夹\USER\adc.o
文件 148168 2013-11-14 14:20 新建文件夹\USER\delay.crf
文件 1629 2013-11-14 14:20 新建文件夹\USER\delay.d
文件 171508 2013-11-14 14:20 新建文件夹\USER\delay.o
文件 150295 2013-11-14 14:20 新建文件夹\USER\dma.crf
文件 1625 2013-11-14 14:20 新建文件夹\USER\dma.d
............此处省略65个文件信息
相关资源
- 基于stm32f103ve的程序——跑马灯实验
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- 单片机和adc0809数字电压表
- 单片机、ADC0808809设计简易数字电压表
- STM32F103 串口程序(完整版)
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- 数据采集系统——ADC0808的应用,单片
- STM32F103 CC2500完整驱动(模拟SPI)
- ADC0809数字电压表 LCD1602显示 汇编程序
- 数字电压表(源程序 protues仿真)
- stm32通过DMA方式采集ADC数据
- SX1280.rar
- STM32F103C8T6+NRF24l01无线通信
- broadcom phy BCM5482S datasheet(开发用)
- ADC0808工作时序图
- stm32f103.SchDoc
- STM32F103 USART+DMA
- 基于STM32F103C8单片机的晶联讯电子JL
- bcm5482 datasheet
- broadcom 802.11g 网络适配器驱动程序 v
- STM32F103实现OV7670摄像头显示
- STM32F103VCT6TR - High-density performance lin
- stm32f103 虚拟U盘,调试成功的
- 基于stm32F103vct6的SD卡FATFS文件系统移植
- AT89C51+ADC0808 PROTEUS仿真
- ADC0832ADC0809DAC0832三种芯片程序,c程序
评论
共有 条评论