標(biāo)題: 基于ESP8266的MAX6675溫度采集程序 [打印本頁(yè)]

作者: 劉勇8502    時(shí)間: 2021-11-5 20:30
標(biāo)題: 基于ESP8266的MAX6675溫度采集程序
基于ESP8266的MAX6675溫度采集程序,親測(cè)可行,目前只用串口發(fā)送數(shù)據(jù)用于測(cè)試,如有想用TCP—server或者TCP_client的可以聯(lián)系我。

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


  8. // 毫秒延時(shí)函數(shù)
  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設(shè)為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設(shè)為IO口
  20.         GPIO_OUTPUT_SET(GPIO_ID_PIN(5),Value_Vol);                                // IO5設(shè)為輸出=X
  21. }
  22. //=========================================================
  23. //GPIO4設(shè)為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設(shè)為SCLK口
  28.         GPIO_OUTPUT_SET(GPIO_ID_PIN(4),Value_Vol);                                // IO4設(shè)為輸出=X
  29. }
  30. //=========================================================
  31. //GPIO2設(shè)為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設(shè)為CS口
  36.         GPIO_OUTPUT_SET(GPIO_ID_PIN(2),Value_Vol);                                // IO2設(shè)為輸出=X
  37. }
  38. // GPIO_5(MAX6675信號(hào)線)設(shè)為輸入模式
  39. //===========================================================================
  40. void ICACHE_FLASH_ATTR MAX6675_Input(void)
  41. {
  42.         PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U,        FUNC_GPIO5);        // GPIO5設(shè)為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. }



復(fù)制代碼

代碼: MAX6675.7z (3.25 MB, 下載次數(shù): 12)

作者: songzhige    時(shí)間: 2021-11-11 07:29
謝謝樓主的分享
TCP—server或者TCP_client怎么聯(lián)系




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1