你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ln()这个对数函数编译时会报错

[复制链接]
黄家村村长 提问时间:2018-6-2 15:57 /
我这个是用AD转换达到热敏电阻测温的程序   里面是用到一个 热敏电阻B值个阻值的计算  里面的ln()这个对数函数编译时会报错  




#include "stm8l15x.h"  //STM8L051/151公用库函数
#include "usart1.h"
#include "adc.h"

void Delay(__IO uint16_t nCount)
{  
    while (nCount != 0)
    {
        nCount--;
    }
}
u16  value;
double u_value; //电压
float i_value;//电流
float r_value; //电阻
float t_value;  //k度 绝度温度+摄氏度
float T_value;  //摄氏度
float adc_value=3.14;
void main(void)
{   
  usart1_init();
  adc_init();
  while(1)
{
    ADC_SoftwareStartConv( ADC1);//开始转换
    while( !ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));//等待转换完成
    ADC_ClearFlag( ADC1, ADC_FLAG_EOC);
    value=ADC_GetConversionValue( ADC1);
    u_value=(double)value*3300UL/4095UL/1000;
    i_value=(float)(3.3-u_value)/20000;
    r_value=(float)value/1000/i_value;

    t_value=(1297*309.65)/ln(r_value/7724);      //        这个ln()这里怎样去表达  
    //1297为B值  求K度  T0是309.65  R0是7724  
    T_value=t_value-273.15; //摄氏 度   

  Delay(60000);
  printf("adc_value=%f\r\n",adc_value);
  Delay(60000);                       
}
}

收藏 评论6 发布时间:2018-6-2 15:57

举报

6个回答
huangxuejia-292 回答时间:2018-6-2 17:26:29
信息不全,
如果ln函数不是随便命名的话,那应该是LOG函数,也就是求对数。
C库应该是#include<math.h>
其他的,百度吧

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

feixiang20 回答时间:2018-6-2 23:43:37
我以为你会做一张表,将温度值和AD值用一个表格表示出来

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

toofree 回答时间:2018-6-2 23:46:42
本帖最后由 toofree 于 2018-6-2 23:48 编辑

不知道你要干啥?又没说报的什么错,有什么错,在报错信息里都会提示。
如果ln(),是指的以10为底的对数的话。
那么有两点,文件必须先包含#include<math.h>;再次在keil下需要使用log10(),因为没有ln()这个函数。

傲游截图20180602234830.jpg


评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

andeyqi 回答时间:2018-6-3 22:44:38
报的什么错,把编译错误发出来看下。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

黄家村村长 回答时间:2018-6-4 09:21:01
toofree 发表于 2018-6-2 23:46
不知道你要干啥?又没说报的什么错,有什么错,在报错信息里都会提示。
如果ln(),是指的以10为底的对数的 ...

原来要用到log10()   刚试过  没报错了  

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1 结帖

查看全部评分

toofree 回答时间:2018-6-4 09:36:03
黄家村村长 发表于 2018-6-4 09:21
原来要用到log10()   刚试过  没报错了

还笑,还笑,快设置已解决。
下次用到数学计算,记得包含math.h,函数拿不准就打开math.h看看。

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版