OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4679|回复: 1

stm32内部温度传感器

[复制链接]

19

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2015-7-26
在线时间
28 小时
发表于 2016-3-7 19:11:15 | 显示全部楼层 |阅读模式
1金钱
short Get_Temprate(void)        //获取内部温度传感器温度值
{
        u32 adcx;
        short result;
        double temperate;
        adcx=T_Get_Adc_Average(ADC_Channel_16,20);        //读取通道16,20次取平均
        temperate=(float)adcx*(3.3/4096);                //电压值
        temperate=(1.43-temperate)/0.0043+25;        //转换为温度值          
        result=temperate*=100;                                        //扩大100倍.
        return result;
}
我对程序中 为什么定义short、double类型的变量不清楚,对u32变量adcx和u16类型T_Get_Adc_Average(ADC_Channel_16,20)之间的转换不清楚,double类型的temperate和(float)类型的adcx*(3.3/4096)之间的转换不清。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-3-7 20:09:51 | 显示全部楼层
问的这么多问题我竟一个也答不上来,,,

楼主这是属于C语言的基础没有打牢,这些类型转换是最基础的,
建议看看C语言入门教材中关于数据类型和强制数据类型转换的介绍,你会找到答案的
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-23 18:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表