资源简介
基于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个文件信息
相关资源
- 基于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
- SX1280.rar
评论
共有 条评论