1019|1

7117

帖子

0

资源

五彩晶圆(中级)

基于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, 下载次数: 6)


回复

19

帖子

3

资源

一粒金砂(中级)

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

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

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

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

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

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

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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