主题中讨论的其他器件: LMT86
工具/软件:Code Composer Studio
您好!
我有一个 msp430fr4133和一个 LMT86温度传感器。 我将传感器连接到 P8.0 -> A8 (模拟输入)。 我使用 driverlib 对 ADC 进行配置、分辨率为10位"ADC_configureMemory (ADC_base、ADC_INPUT_A8、ADC_VREFPOS_AVCC、ADC_VREFNEG_AVSS);"。
我在用户指南的第2.2.9节中 ×:T = 0.00355 μ s (VT–V30ºC μ s)+ 30ºC μ s。 http://www.ti.com/lit/ug/slau445i/slau445i.pdf
我可以在数据表的6.10节 https://www.ti.com/lit/ds/symlink/msp430fr4133.pdf V30C 中找到它。
我尝试使用此公式来计算从 ADC 接收到的温度、答案不是很好。
#define CALADC_15V_30C *((unsigned int *) 0x1A1A)
#define CALADC_15V_85C *((unsigned int *) 0x1A1C)
(笑声)
adcRes = ADC_getResult (ADC_base);//例如可接收577
//Formula I
tempInCD = 0.00355 *(577 - CALADC_15V_30C)+ 30;
//Formula II
tempInCD = (adcRes - CALADC_15V_30C)*(85 - 30) / (CALADC_15V_85C - CALADC_15V_30C)+ 30;
得到错误的答案。
在 tempInCD 之前、我必须使用"adcRes"执行其他操作吗?
请用正确的公式逐步说明问题。