CC2530_温湿度_串口通信

本文介绍了如何使用CC2530微控制器读取SHT10温湿度传感器和光照传感器的数据。通过模拟IIC协议获取温湿度信息,并利用ADC通道获取光照强度,随后通过串口将这些数据间歇性发送至个人电脑。
摘要由CSDN通过智能技术生成

流程:
传感器读取温度、湿度、光照强度 ,通过串口间歇发送给PC。
使用CC2530 读取温湿度传感器SHT10 的温度和湿度数据,并通过CC2530 内部的ADC 得到光照传感器的数据。其中对温湿度的读取是利用CC2530 的I/O(P1.0 和P1.1)
模拟一个类IIC 的过程。对光照的采集使用内部的AIN0 通道。

#include "hal.h"
#include "LCD.h"
#include "stdio.h"

#define noACK 0
#define ACK   1

#define STATUS_REG_W 0x06
#define STATUS_REG_R 0x07
#define MEASURE_TEMP 0x03
#define MEASURE_HUMI 0x05
#define RESET        0x1e

#define SCL          P1_0     //SHT10时钟
#define SDA          P1_1     //SHT10数据线

unsigned char d1,d2,d3,d4,d5,d6,d7;

void Wait(unsigned int ms);
void QWait(void)  ;
char s_write_byte(unsigned char value);
char s_read_byte(unsigned char ack);
void s_transstart(void);
void s_connectionreset(void);
char s_measure( unsigned char *p_checksum, unsigned char mode);
void initIO(void);

/**************************************************************************************************
 * 函数名称:Wait
 *
 * 功能描述:延时函数(不精确延时)
 *
 * 参    数:ms -- 延时时间
 *
 * 返 回 值:无
 **************************************************************************************************/
void Wait(unsigned int ms)
{

   unsigned char g,k;
   while(ms)
   {

      for(g=0;g<=167;g++)
       {
   
         for(k=0;k<=48;k++);
       }
      ms--;                            
   }
} 

/**************************************************************************************************
 * 函数名称:QWait
 *
 * 功能描述:延时函数(大约1us的延时)
 *
 * 参    数:无
 *
 * 返 回 值:无
 **************************************************************************************************/
void QWait()     
{
    asm("NOP");asm("NOP");
    asm("NOP");asm("NOP");
    asm("NOP");asm("NOP");
    asm("NOP");asm("NOP");
    asm("NOP");asm("NOP");
    asm("NOP");

}

/*************************************************************************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值