您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 佛山分类信息网,免费分类信息发布

说一说STM32 之 内部温度传感器

2023/1/17 18:35:22发布46次查看
温度传感器和adc的设置基本相同,算是adc的扩展应用。空气流量传感器是测定吸入发动机的空气流量的传感器。电子控制汽油喷射发动流量传感器机为了在各种运转工况下都能获得最佳浓度的混合气,必须正确地测定每一瞬间吸入发动机的空气量,以此作为ecu计算(控制)喷油量的主要依据。
只是在计算方法上有变化,在的初始化程序里面做一些变动就可以了。
包含函数:
(1)m
c语言:c#14690
*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 实验平台 : st 官方三合一套件
+ 硬件 : stm32f103c8t6
+ 开发平台 : iar f arm 540
+ 仿真器 : j-l
+ 日期 : 2010-10-28
+ 频率 :hse = 8mh ,主频 = 72mh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*
#
#
*******************************************************************************
== 变量声明 ==
*******************************************************************************
adc_v,t;
=0;=0;=0;=0;
*******************************************************************************
== m 函数 ==
*******************************************************************************
()
{
---- 初始化 ------------------------------------------------------
rcc_c();配置系统时钟
nvic_c();配置 nvic 和 v t
st_c();配置st的精确延时
gpio_c();
uart1_c();
ad_c();
dma_c();
---- 任务开始 ----------------------------------------------------
led1_high;led2_high;led3_high;led4_high; 初始化让灯全灭
u1_ps(=====stm32 @ t =====\\,39);
(1)
{ 这里只选采集的10个数据中的一个,应该做一些算法进行滤波才好
adc_v=()(_[5])*330409600; 计算公式上可以找到,但是我没找到。
t=(142-adc_v)*1000435+25;
t=t*100; adc是12位的,这里数据类型转换有问题
=t1000;
=(t-*1000)100;
=(t-*1000-*100)10;
=t-*1000-*100-*10;
u1_pc(+'0');
u1_pc(+'0');
u1_ps(,1);
u1_pc(+'0');
u1_pc(+'0');
u1_ps( c\,3);
d_m(1000);
}
}
(2)在adc初始化函数里要变动些内容,关于温度传感器的
c语言:c#14691
*******************************************************************************
* f n : ad_c
* d : cadc1
* i : n
* o : n
* r : n
*******************************************************************************
ad_c()
{
adc_itdadc_is_adc1;
* r adc1 *
adc_di(adc1);
adc_is_adc1adc_m=adc_m_i; 配置adc1 工作在独立模式
adc_is_adc1adc_scm=enable; 配置adc1 模数转换工作在扫描模式(多通道模式)
adc_is_adc1adc_ccm=enable; 配置adc1 模数转换工作在连续模式
adc_is_adc1adc_etc=adc_etc_n; 配置adc1 模数转换有软件方式启动而非中断方式
adc_is_adc1adc_da=adc_da_r; 配置adc1 模数转换数据对齐方式为右对齐
adc_is_adc1adc_noc=1; 配置adc1 模数转换的通道数目 为 1个通道
adc_i(adc1,adc_is_adc1); 配置adc1 初始化
常规转换序列1:通道10
adc_rcc(adc1,adc_c_16,1,adc_st_239c5); 配置为 adc1,通道1,1个通道,采样时间为2395个周期,周期越长采集的信号越准越稳
对应的管教所对应的adc通道时对应的,一定不要搞错!
* e *
adc_tsvc(enable); 使能温度传感器内部参考电压通道
adc_dmac(adc1,enable); 使能adc1的dma请求
adc_c(adc1,enable); 使能adc1
* e adc1 *
adc_rc(adc1); 重置adc1的校准寄存器
* c adc1 *
(adc_grcs(adc1)); 检测是否重置完毕
* s adc1*
adc_sc(adc1); 开始校准 adc1
* c adc1*
(adc_gcs(adc1)); 检测是否校准完毕
* s adc1 s c *
adc_sscc(adc1,enable); 软件使能adc1的转换
}
佛山分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录