2757|1

6802

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

基于ESP8266的MAX6675温度采集程序 [复制链接]

 

基于ESP8266的MAX6675温度采集程序,亲测可行,目前只用串口发送数据用于测试。

/*
* max6675.c
*
*  Created on: 2021年11月5日
*      Author: Administrator
*/
#include"driver/max6675.h"

// 毫秒延时函数
//=================================================
void ICACHE_FLASH_ATTR Dht11_delay_ms(u32 C_time)
{        for(;C_time>0;C_time--)
                os_delay_us(1000);
}
//=========================================================
//GPIO5设为SO口
//========================================================
void ICACHE_FLASH_ATTR MAX6675_SO(u8 Value_Vol)
{
        PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U,        FUNC_GPIO5);        // GPIO5设为IO口
        GPIO_OUTPUT_SET(GPIO_ID_PIN(5),Value_Vol);                                // IO5设为输出=X
}
//=========================================================
//GPIO4设为SCLK口
//========================================================
void ICACHE_FLASH_ATTR MAX6675_SCLK(u8 Value_Vol)
{
        PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U,        FUNC_GPIO4);        // GPIO4设为SCLK口
        GPIO_OUTPUT_SET(GPIO_ID_PIN(4),Value_Vol);                                // IO4设为输出=X
}
//=========================================================
//GPIO2设为CS口
//========================================================
void ICACHE_FLASH_ATTR MAX6675_CS(u8 Value_Vol)
{
        PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U,        FUNC_GPIO2);        // GPIO2设为CS口
        GPIO_OUTPUT_SET(GPIO_ID_PIN(2),Value_Vol);                                // IO2设为输出=X
}
// GPIO_5(MAX6675信号线)设为输入模式
//===========================================================================
void ICACHE_FLASH_ATTR MAX6675_Input(void)
{
        PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U,        FUNC_GPIO5);        // GPIO5设为IO口
        GPIO_DIS_OUTPUT(GPIO_ID_PIN(5));                // GPIO5失能输出(输入)
}
unsigned long max6675_read()        //读取温度值
{
        unsigned char i;
        unsigned long max_6675=0x00;
         MAX6675_CS(0);
         MAX6675_SCLK(0);
         MAX6675_SO(0);
        for(i=0;i<16;i++)
        {
                MAX6675_SCLK(1);
                max_6675<<=1;
                MAX6675_Input();
                if(GPIO_INPUT_GET(GPIO_ID_PIN(5))==1){max_6675=max_6675|0x01;}
                else max_6675=max_6675|0x00;
                 MAX6675_SCLK(0);
        }
         MAX6675_CS(1);
         max_6675<<=1;
         max_6675>>=4;
         max_6675=max_6675/4;
        return max_6675;
}

代码

代码_MAX6675.7z (3.25 MB, 下载次数: 16)

最新回复

感谢分享,我曾经也入手了一个esp8266,但是一直在抽屉里吃灰。  详情 回复 发表于 2021-11-11 09:16
点赞 关注
 
 

回复
举报

18

帖子

3

TA的资源

一粒金砂(中级)

沙发
 
感谢分享,我曾经也入手了一个esp8266,但是一直在抽屉里吃灰。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表