用c语言写一个能控制温湿度传感器的代码
时间: 2024-05-04 19:15:39 浏览: 16
好的,以下是一个简单的用C语言控制温湿度传感器的代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
#include <wiringPiI2C.h>
#define I2C_ADDR 0x27 // 温湿度传感器的I2C地址
int main(void) {
int fd;
float temp, humi;
wiringPiSetup(); // 初始化wiringPi库
fd = wiringPiI2CSetup(I2C_ADDR); // 初始化I2C设备
while (1) {
wiringPiI2CWrite(fd, 0x03); // 发送获取温湿度数据的命令
delay(100); // 等待传感器完成测量
// 读取温度值
temp = wiringPiI2CReadReg16(fd, 0x00);
temp = temp / 10.0;
// 读取湿度值
humi = wiringPiI2CReadReg16(fd, 0x01);
humi = humi / 10.0;
printf("Temp: %.1f°C, Humi: %.1f%%\n", temp, humi);
delay(2000); // 延时2秒后重新测量
}
return 0;
}
```
这个代码使用了wiringPi库来控制树莓派的GPIO口,并使用wiringPiI2C库来控制I2C总线读取温湿度传感器的数据。具体的温湿度数据获取方法可以参考传感器的数据手册。