基于ESP8266的MAX6675温度采集程序,亲测可行,目前只用串口发送数据用于测试,如有想用TCP—server或者TCP_client的可以联系我。
- /*
- * 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, 下载次数: 12)
|