资源简介
基于STM32的心率传感器设计代码 mdk代码完整可用 注释充分 包含界面
代码片段和文件信息
#include “adc.h“
#include “delay.h“
//初始化ADC
//我们默认仅开启ADC1_CH5
void Adc_Init(void)
{
//先初始化IO口
RCC->APB2ENR|=1<<8; //使能ADC1时钟
RCC->AHB1ENR|=1<<0; //使能PORTA时钟
GPIO_Set(GPIOAPIN5GPIO_MODE_AIN00GPIO_PUPD_PU); //PA5模拟输入下拉
RCC->APB2RSTR|=1<<8; //ADCs复位
RCC->APB2RSTR&=~(1<<8); //复位结束
ADC->CCR=3<<16; //ADCCLK=PCLK2/4=84/4=21MhzADC时钟最好不要超过36Mhz
ADC1->CR1=0; //CR1设置清零
ADC1->CR2=0; //CR2设置清零
ADC1->CR1|=0<<24; //12位模式
ADC1->CR1|=0<<8; //非扫描模式
ADC1->CR2&=~(1<<1); //单次转换模式
ADC1->CR2&=~(1<<11); //右对齐
ADC1->CR2|=0<<28; //软件触发
ADC1->SQR1&=~(0XF<<20);
ADC1->SQR1|=0<<20; //1个转换在规则序列中 也就是只转换规则序列1
//设置通道5的采样时间
ADC1->SMPR2&=~(7<<(3*5));//通道5采样时间清空
ADC1->SMPR2|=7<<(3*5); //通道5 480个周期提高采样时间可以提高精确度
ADC1->CR2|=1<<0; //开启AD转换器
}
//获得ADC值
//ch:通道值 0~16
//返回值:转换结果
u16 Get_Adc(u8 ch)
{
//设置转换序列
ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch
ADC1->SQR3|=ch;
ADC1->CR2|=1<<30; //启动规则转换通道
while(!(ADC1->SR&1<<1));//等待转换结束
return ADC1->DR; //返回adc值
}
//获取通道ch的转换值,取10次冒泡排序,掐头去尾,取平均
u16 Get_Adc_Average(u8 ch)
{
u8 ij;
u16 buff[10]={0};
u16 temp;
for(i=0;i<10;i++)
{
buff[i]=Get_Adc(ch); //读取转换结果
}
/* 把读取值的数据按从小到大的排列 */
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(buff[j]>buff[j+1])
{
temp = buff[j];
buff[j] = buff[j+1];
buff[j+1] = temp;
}
}
}
/* 求平均值 */
temp=0;
for(i=1;i<9;i++)
{
temp+=buff[i];
}
return temp/8;
}
- 上一篇:后台根据时间段查询插件
- 下一篇:USB转CAN总线
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
- STM32的PCB封装库,以及原理图库,48
评论
共有 条评论