温湿度传感器SHT20的驱动与使用

    最近公司里的一个小的项目:基于冰库的温度检测,采用无线通讯的方式,将采集到的温度信息传送给基站,基站通过UDP传输给上位机。

    实验平台

     编译软件: IAR Embedded Workbench for ARM version 6.40

                        KEIL Keil uVision4

      硬件平台:(1) 测温度标签: Nrf24LE1与SHT20  (2) 基站: STM32F107与NRF24LE1

     SHT20的驱动代码可以点击这里

     在原来网上找到的源码,发现IIC写寄存器的时候,有些偏差。因此自己参考了之前驱动ADXL345加速度传感器的模拟IIC程序,对写寄存器部分进行了优化。

以下是读取的函数,将该函数放在while(1)的循环里,即可实现对温度的读取。

float ReadSht20(char whatdo)
{
	float temp;
	uchar MSB,LSB;
	float Humidity;
	float Temperature;

	SET_Resolution();
	I2CStart(); 
	if(I2C_Write_Byte(SHT20ADDR&0xfe)==ACK) 
	{ 
		if(I2C_Write_Byte(whatdo)==ACK) 
		{
			do
			{
			Delay(6);
			I2CStart(); 
			}while(I2C_Write_Byte(SHT20ADDR
  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值