微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 蓝牙如何读取传感器数据

蓝牙如何读取传感器数据

时间:10-02 整理:3721RD 点击:

我想做一个蓝牙读取温湿度度传感器的小东西,但之前在ZIGBEE上做的代码能不能移植?在哪里能找到相应的蓝牙开发实例。之前并没有了解蓝牙的开发技术,暂时不具备蓝牙开发的能力,求各位帮帮出出主意。有这方面爱好的可以具体交流学习,也可以ZIGbee技术交流

蓝牙读取传感器的数据的话,建议您参考下sensortag

http://processors.wiki.ti.com/index.php/CC2541_SensorTag?keyMatch=CC2541&tisearch=Search-CN-Everything

1: 先研究温度/湿度传感器手册和具体用法

2: 写出来对应的裸机驱动,也可以Google搜一下

3: 移植到BLE里面,可以参考sensortag的写法

我们并不做蓝牙产品的开发,只是做一个温湿度传感器和酒精传感器的小东西。有过zigbee的实验,但是不知道怎么移植过来,想要大家帮忙看看,以下是我们的读取传感器的代码。运行没有错,也能在串口助手中显示出来,但是并不打印出温湿度传感器数据,求各位帮忙看一下。附上代码分享。 #include "ioCC2541.h" #include "uart1.h" #include "init.h" #include "stdio.h" #include "string.h" void delay_tm(unsigned int x); uchar tt; unsigned char ttt[40]; unsigned short temper = 1; unsigned short humidity = 0; // 变量定义 unsigned char Sensor_Data1[5] = {0x00, 0x01, 0x00, 0x00, 0x00}; unsigned char Sensor_Check; //校验和 unsigned char Sensor_ErrorFlag; //读取传感器错误标志 unsigned int Sys_CNT; unsigned int Tmp; void clock_init(void) { CLKCONCMD &= ~0x40; /*等待晶振稳定*/ while(!(SLEEPSTA & 0x40)); /*TICHSPD二分频,CLKSPD不分频*/ CLKCONCMD &= ~0x47; /*关闭RC振荡器*/ SLEEPCMD |= 0x04; //设置系统主时钟频率为32MHZ } void Delay_N10us(unsigned char t) { unsigned int i; unsigned int j; for(j = t; j > 0; j--) for(i = 6; i > 0; i--); //延时大约 1ms } void Delay_N1ms(unsigned int t) { unsigned int i; unsigned int j; for(j = t; j > 0; j--) for(i = 1500; i > 0; i--); //延时大约 1ms } void Clear_Data (void) { int i; for(i = 0; i = 3000) { break;} } Delay_N10us(4); //判断传感器发送数据位 tmp = 0; if((P1 & 0x10)) { tmp = 1; } cnt = 0; while((P1 & 0x10)) { //等待高电平 结束 if(++cnt >= 2000) { break;} } buffer < 20000) { Sensor_ErrorFlag = 1; return 0;} } Sys_CNT = 0; //判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 while((P1 & 0x10)) {if(++Sys_CNT > 3000) { Sensor_ErrorFlag = 1; return 0;} } // 数据接收 传感器共发送40位数据 // 即5个字节 高位先送 5个字节分别为湿度高位 湿度低位 温度高位 温度低位 校验和 // 校验和为:湿度高位+湿度低位+温度高位+温度低位 for(i = 0; i <<

试过了,传感器并不能读取数据,不知道是啥原因

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top