找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1662|回复: 7
打印 上一主题 下一主题
收起左侧

stm32单片机红外测温MLX90614程序 一直卡在-237度

[复制链接]
跳转到指定楼层
楼主
求什么问题一直卡在-237度

单片机源程序如下:
#include "sys.h"        
#include "delay.h"        
#include "led.h"
#include "beep.h"
#include "seg.h"
#include "stm32f10x.h"                  // Device header
#include "usart.h"        
#include "mlx90614.h"




int main(void)
{        
         int n;
        float Temperature = 0;    //温度数据变量(浮点型)
        delay_init();                     //延时函数初始化         
        LED_Init();                                   //初始化与LED连接的硬件接口
        BEEP_Init();                 //初始化蜂鸣器端口
//shumaguan();
        uart_init(115200);
  SMBus_Init();
//        xz(1,1);
//        xz(2,1);
//        xz(3,1);
//        xz(4,1);


//Digtal_Display(2,1);
         while(1)
        {   
                Temperature = SMBus_ReadTemp();
//    n = (int)(Temperature * 10);
//                DisPlayNum(Temperature);
        printf("Temperature = %f\r\n",Temperature);        //在串口调试助手上打印结果
        delay_ms(100);//不加延时的话在电脑串口助手上看不到效果

//                LED0=0;
////                BEEP=0;                  
////                delay_ms(300);//延时300ms
////                LED0=1;         
//                BEEP=0;  
//                delay_ms(300);//延时300ms

        }
}


51hei截图_20230103233231.png (90.6 KB, 下载次数: 61)

51hei截图_20230103233231.png

51hei截图_20230103233246.png (29.53 KB, 下载次数: 59)

51hei截图_20230103233246.png

STM32红外测温.7z

189.63 KB, 下载次数: 10

串口打印出来一直-237

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2023-1-2 02:29 | 只看该作者
很显然硬件没有连接,读出来的都是0。
回复

使用道具 举报

板凳
ID:1056573 发表于 2023-1-2 02:52 | 只看该作者
函数float SMBus_ReadTemp(void)
{   
    return SMBus_ReadMemory(SA, RAM_ACCESS|RAM_TOBJ1)*0.02-273.15;
}
从结果看SMBus_ReadMemory(SA, RAM_ACCESS|RAM_TOBJ1)的值为0,检查下宏定义中MLX90614的地址SA与RAM_ACCESS|RAM_TOBJ1是否对。
回复

使用道具 举报

地板
ID:584814 发表于 2023-1-2 08:09 | 只看该作者
目测串口打印出来一直-273而非-237,如此粗心答案也就有了。
开源电子网如果没给答案,就是一直输出为绝对零度,也就是说没正常驱动。
回复

使用道具 举报

5#
ID:1059945 发表于 2023-1-3 23:34 | 只看该作者
man1234567 发表于 2023-1-2 08:09
目测串口打印出来一直-273而非-237,如此粗心答案也就有了。
开源电子网如果没给答案,就是一直输出为绝对 ...

对的就是没读出来数据,驱动应该没问题,有朋友实验出来,看看是不是我参数不对
回复

使用道具 举报

6#
ID:1059945 发表于 2023-1-3 23:35 | 只看该作者
Hephaestus 发表于 2023-1-2 02:29
很显然硬件没有连接,读出来的都是0。

连接了供电电压正常端口设置是这个
回复

使用道具 举报

7#
ID:1059945 发表于 2023-1-3 23:35 | 只看该作者
ytchfp163 发表于 2023-1-2 02:52
函数float SMBus_ReadTemp(void)
{   
    return SMBus_ReadMemory(SA, RAM_ACCESS|RAM_TOBJ1)*0.02-273 ...

我上传图片麻烦看看
回复

使用道具 举报

8#
ID:243487 发表于 2023-1-19 11:20 | 只看该作者
电路上拉加了嘛?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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