资源简介
通过外部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个文件信息
相关资源
- STM32F103ZET6 原理图文件SCH 。protel99s
- STM32F103 TFT彩屏显示图片和汉字字符(
- STM32F103 TFT彩屏显示汉字字符(取摸
- PC(WinXP)上安装大型计算机模拟器
- 基于adc0832的数字电压表
- STM32F103VET6最小系统板原理图
- stm32 多通道ADC转换
- STM32F103读SHT31温湿度传感器代码,实测
- 基于STM32F103的NES(FC)模拟器
- lcd12864二维码源代码
- tiny6410上的adc转换裸机程序
- stm32F407ADC电压采集串口输出程序
- STM32F103多ADC多通道采样
- STM32F103VET6原理图和pcb.rar
- STM32F103封装库
- LCD12864显示ADC0809
- ADC0804与单片机的模数转换程序附仿真
- TLV320ADC3101.rar
- ADC0808采集电压并且用数码管显示
- ADC0808 汇编 PROTUES 仿真
- nrf51822 ADC
- STM32_OLED_三级菜单框架.rar
- STM32最小系统原理图pcb图
- 适用于2016年省赛电子设计竞赛自动循
- STM32F103RCT6.zip
- 高速ADC/DAC测试原理及测试方法.pdf
- 单片机如何通过ADC模块采集模拟信号
- 流水线ADC设计中的数字校淮算法与实
- 差分输入中频采样ADC的单端输入驱动
- DEADC0DE_pre.sh
评论
共有 条评论