找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于ESP8266的MAX6675温度采集程序

[复制链接]
跳转到指定楼层
楼主
ID:494607 发表于 2021-11-5 20:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于ESP8266的MAX6675温度采集程序,亲测可行,目前只用串口发送数据用于测试,如有想用TCP—server或者TCP_client的可以联系我。

  1. /*
  2. * max6675.c
  3. *
  4. *  Created on: 2021年11月5日
  5. *      Author: Administrator
  6. */
  7. #include"driver/max6675.h"


  8. // 毫秒延时函数
  9. //=================================================
  10. void ICACHE_FLASH_ATTR Dht11_delay_ms(u32 C_time)
  11. {        for(;C_time>0;C_time--)
  12.                 os_delay_us(1000);
  13. }

  14. //=========================================================
  15. //GPIO5设为SO口
  16. //========================================================
  17. void ICACHE_FLASH_ATTR MAX6675_SO(u8 Value_Vol)
  18. {
  19.         PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U,        FUNC_GPIO5);        // GPIO5设为IO口
  20.         GPIO_OUTPUT_SET(GPIO_ID_PIN(5),Value_Vol);                                // IO5设为输出=X
  21. }
  22. //=========================================================
  23. //GPIO4设为SCLK口
  24. //========================================================
  25. void ICACHE_FLASH_ATTR MAX6675_SCLK(u8 Value_Vol)
  26. {
  27.         PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U,        FUNC_GPIO4);        // GPIO4设为SCLK口
  28.         GPIO_OUTPUT_SET(GPIO_ID_PIN(4),Value_Vol);                                // IO4设为输出=X
  29. }
  30. //=========================================================
  31. //GPIO2设为CS口
  32. //========================================================
  33. void ICACHE_FLASH_ATTR MAX6675_CS(u8 Value_Vol)
  34. {
  35.         PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U,        FUNC_GPIO2);        // GPIO2设为CS口
  36.         GPIO_OUTPUT_SET(GPIO_ID_PIN(2),Value_Vol);                                // IO2设为输出=X
  37. }
  38. // GPIO_5(MAX6675信号线)设为输入模式
  39. //===========================================================================
  40. void ICACHE_FLASH_ATTR MAX6675_Input(void)
  41. {
  42.         PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U,        FUNC_GPIO5);        // GPIO5设为IO口
  43.         GPIO_DIS_OUTPUT(GPIO_ID_PIN(5));                // GPIO5失能输出(输入)
  44. }
  45. unsigned long max6675_read()        //读取温度值
  46. {
  47.         unsigned char i;
  48.         unsigned long max_6675=0x00;
  49.          MAX6675_CS(0);
  50.          MAX6675_SCLK(0);
  51.          MAX6675_SO(0);
  52.         for(i=0;i<16;i++)
  53.         {
  54.                 MAX6675_SCLK(1);
  55.                 max_6675<<=1;
  56.                 MAX6675_Input();
  57.                 if(GPIO_INPUT_GET(GPIO_ID_PIN(5))==1){max_6675=max_6675|0x01;}
  58.                 else max_6675=max_6675|0x00;
  59.                  MAX6675_SCLK(0);
  60.         }
  61.          MAX6675_CS(1);
  62.          max_6675<<=1;
  63.          max_6675>>=4;
  64.          max_6675=max_6675/4;
  65.         return max_6675;
  66. }



复制代码

代码: MAX6675.7z (3.25 MB, 下载次数: 12)

评分

参与人数 1黑币 +30 收起 理由
admin + 30 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:27027 发表于 2021-11-11 07:29 | 只看该作者
谢谢楼主的分享
TCP—server或者TCP_client怎么联系
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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