资源简介
基于Tlink云智能检测系统,通过网页和手机客户端查看各个传感器信息,并且可设置触发条件以微信或者短信方式发送
代码片段和文件信息
#include “adc.h“
#include “delay.h“
/**************************************ADC***********************/
/*
函数功能:ADC1规则通道初始化
说 明:初始化规则通道1 -->PA1
*/
void ADC1_Init(void)
{
//GPIO配置
RCC->APB2ENR |=1<<2;
GPIOA->CRL &=0xFFFFFF0F;
GPIOA->CRL |=0x00000000; //模拟输入
//ADC1时钟使能
RCC->APB2ENR |=1<<9;
RCC->APB2RSTR |=1<<9;
RCC->APB2RSTR &=~(1<<9);
//设置分频因子
RCC->CFGR &=~(3<<14);
RCC->CFGR |=2<<14; //12MHz
//设置工作模式
ADC1->CR1 &=~(0xF<<16);//清零,同时也是设置为独立模式 0000
//ADC1->CR1 &=~(0x7<<13);//一个通道
ADC1->CR1 &=~(1<<8);//非扫描模式
ADC1->CR2 |=1<<23;//启用温度传感器
ADC1->CR2 |=1<<20;//使用外部事件启动转换
ADC1->CR2 |=0x7<<17;//选择SWSTART触发
ADC1->CR2 &=~(1<<11);//右对齐
ADC1->CR2 &=~(1<<1);//单次转换模式
//设置ADC1规则通道序列的相关信息
ADC1->SQR1 &=~(0xF<<20);//一个转换
ADC1->SMPR1 |=7<<18; //通道16 239.5周期 采样时间
ADC1->SMPR2 |=7<<3; //通道1(PA1) 239.5周期
//开启AD转换器,并校准
ADC1->CR2 |=1<<0; //开启AD
ADC1->CR2 |=1<<3; //初始化校准寄存器
while(ADC1->CR2&1<<3);//等待初始化校准完成
ADC1->CR2 |=1<<2; //开始较准
while(ADC1->CR2&1<<2);//等待校准完成
}
/*
函数功能:获取通道的ADC转换值
参 数:
u8 ch ->通道号
返回值:ADC转换值
*/
u16 Get_Adc1(u8 ch)
{
ADC1->SQR3 &=0xFFFFFFE0;//将第1个转换位清零
ADC1->SQR3 |=ch<<0;
ADC1->CR2 |=1<<22;//开始转换规则通道
while(!(ADC1->SR&1<<1));//等待转换完成
return ADC1->DR;
}
/*
函数功能:获取通道ch的转换值,取times次,然后平均
参 数:
u8 ch 通道号
u8 times 次数
返回值:times次ch通道转换值的平均值
*/
u16 Get_AdcAve(u8 chu8 times)
{
u32 sum_val=0;
u8 i;
for(i=0;i {
sum_val+=Get_Adc1(ch);
delay_MS(5);
}
return sum_val/times;
}
/**************************************DAC***************************/
/*
函数功能:DAC通道初始化
说 明:初始化DAC通道1 ->PA4
*/
void DAC_Init(void)
{
//开启PA口时钟,设置PA4为模拟输入
RCC->APB2ENR |=1<<2;
GPIOA->CRL &=0xFFF0FFFF;
GPIOA->CRL |=0x00000000;
//使能DAC1时钟
RCC->APB1ENR |=1<<29;
RCC->APB1RSTR |=1<<29;
RCC->APB1RSTR &=~(1<<29);
//设置DAC的工作模式
DAC->CR |=1<<1;//关闭输出缓存
DAC->CR |=1<<0;//使能DAC通道1
DAC->DHR12R1=0;//12位右对齐
}
/*
函数功能:DAC通道1输出
说 明:输出的电压值--MV毫伏
3.3v=3300mv 传入范围0-3300
*/
void DAC_OUT_MV(u16 dat)
{
float tmp;
tmp=dat/1000.0;
DAC->DHR12R1=tmp*4095/3.3; //填入的范围0~65535
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-09-20 16:52 基于Tli
目录 0 2018-09-20 16:52 基于Tli
目录 0 2018-09-20 16:52 基于Tli
文件 2523 2018-04-24 21:23 基于Tli
文件 215 2018-04-24 21:14 基于Tli
目录 0 2018-09-20 16:52 基于Tli
文件 4638 2018-04-28 16:50 基于Tli
文件 1528 2018-04-28 16:24 基于Tli
目录 0 2018-09-20 16:52 基于Tli
文件 1174 2018-08-15 14:45 基于Tli
文件 214 2018-04-26 12:07 基于Tli
目录 0 2018-09-20 16:52 基于Tli
文件 1629 2018-08-24 14:30 基于Tli
文件 501 2018-08-24 14:16 基于Tli
目录 0 2018-09-20 16:52 基于Tli
文件 755 2018-04-28 17:41 基于Tli
文件 135 2018-03-29 19:29 基于Tli
目录 0 2018-09-20 16:52 基于Tli
文件 9140 2018-08-13 19:13 基于Tli
文件 1415 2018-05-04 08:17 基于Tli
目录 0 2018-09-20 16:52 基于Tli
文件 2336 2018-04-28 16:24 基于Tli
文件 885 2018-04-28 12:56 基于Tli
目录 0 2018-09-20 16:52 基于Tli
文件 556 2018-04-25 15:06 基于Tli
文件 149 2018-04-25 15:05 基于Tli
目录 0 2018-09-20 16:52 基于Tli
文件 1215 2018-03-18 20:18 基于Tli
文件 480 2018-04-15 15:05 基于Tli
目录 0 2018-09-20 16:52 基于Tli
文件 16156 2012-08-25 14:01 基于Tli
............此处省略183个文件信息
相关资源
- STM32频率计
- CanFestival移植至战舰STM32F1开发板
- ADS1256资料大集合
- STM32F103的DS1820温度测量工程代码包+
- STM32F4系列 不同定时器的PWM输出多达
- STM32,超声波测距模块HC_SR04,1602显示
- STM32平衡车代码
- STM32L0中文参考手册新版
- STM32中编码器脉冲捕获
- esp8266和stm32驱动之三实现访问网站获
- APDS9960基于STM32的驱动程序
- STM32+RC522--demo.rar
- stm32f103_IAPbootloader-1.0及用户app修改好
- INA219f1.zip
- lcd1602.zip
- (STM32F407)C610电调+M2006电机.rar
- 基于STM32F407的超声波智能跟随小车
- STM32F1战舰原理图+PCB源文件
- 基于STM32示波器 DDS信号发生器.zip
- VL53L0X 3.0 RCWL-0800激光测距
- stm32f1控制电磁阀+舵机+ADC推杆
- 基于STM32内部rtc的智能闹钟源代码
- STM32F103 模糊自整定增量式PID控制电机
- STM32F103系列 普通增量式PID控制速度程
- 空气检测质点 stm32f103c8t6+lora+pm2.5+温湿
- 基于STM32的数字字符识别.zip
- AliOS_Things物联网操作系统.pdf
- STM32L0XX 低功耗程序源码
- STM32f103避障智能小车源码
- STM32F407定高超声波避障激光雷达.rar
评论
共有 条评论