zigbee网关 zstack CC2530添加iic温度传感器lm75a

news/2024/11/20 23:27:57/

lm75a已经裸机驱动起来,下一步准备添加在zstack中zigbee网关 cc2530裸机驱动温度传感器LM75A

把iic.c, iic.h, lm75a.c, lm75a.h拷贝到zigbeeGateWay工程中的source目录下

右击app选择添加source把iic.c和lm75a.c添加进来

在协调器的workspace中分别选中iic.c和lm75a.c右击选择option把exclude from build勾上,这样协调器就不会把这两个文件编译进来


把lm75a中main函数等函数删掉仅留下

float ReadTemp(void)

函数

把iic.c中iic初始化函数改成

void iic_init()
{P0DIR |= 1<<6 | 1<<7; //数据线时钟线设置输出模式P0INP &= ~(1<<6);//数据线输入上拉或者下拉P2INP &= ~(1<<5);//数据线输入上拉set_sda_out();SCL = 1;delay();SDA = 1;delay();
}

至此,lm75a的驱动函数完成

参考Zigbee网关 cc2530 zstack添加1602驱动的做法,因为这是一个单向控制的,简单的把之前周期报告led状态的函数改成报告温度的函数即可

添加头文件,为了协调器工程不报错,使用的宏if

#ifndef APP_UIP
#include "iic.h"
#include "lm75a.h"
#endif

在初始化函数中添加iic初始化

#ifndef APP_UIP
iic_init();
#endif


将函数

void ZigbeeGateWay_SendPeriodicMessage( void )
中的前3行改成如下:

uint8 led_string[20];//int led_State = P0;sprintf((char*)led_string, "Temperature:%2.1f",ReadTemp());

ok,完成,上电测试,

收到的消息

{"From":"Endian","Addr":"3E92","Type":"Message","Content":"Temperature:2.1f"}

好像不太对,%2.1f没给翻译

原因是printf formatter太低了,选Auto,让编译器自己选合适的formatter


上电测试


成功了,温度升高是因为我用手按了一会儿。

更多精彩案例请参考 web.nenewind.com



http://www.ppmy.cn/news/650926.html

相关文章

ST官方的IIC实例解析(第一部分)

ST官方的IIC实例解析 LM75A的管脚描述 输入/输出(引脚属性) 引脚标识 描述 输入 VCC 供电电压 输入 GND 参考地 输入 A2~A0 低3位地址引脚 输入 SDA IIC的数据总线 输入 SCL IIC的时钟总线 输出 OS 开漏输出(低电平有效) 其中&#xff0c;我们看原理图就…

基于MDKA5D31-EK_T70开发板的QT示例-demo04:LM75A温度监测

By Mcuzone 硬件平台&#xff1a;MDKA5D31-EK_T70开发板 QT版本&#xff1a;4.8.5 简要说明&#xff1a;本示例主要演示QT下使用绘图设备绘制仪表盘并设置安全温度&#xff0c;采集底板LM75A的温度并显示&#xff0c;当温度超过安全温度时&#xff0c;报警灯报警。 如图所示…

基于MDKA5D31-EK_T70开发板的QT示例-demo09:LM75A温度曲线

By Mcuzone 硬件平台&#xff1a;MDKA5D31-EK_T70开发板 QT版本&#xff1a;4.8.5 简要说明&#xff1a;本示例主要演示应用程序采集开发板上的LM75A温度数据并绘制曲线。 应用程序运行效果&#xff1a; 采用7寸液晶屏&#xff0c;显示屏分辨率为800480&#xff1b; X轴为时间…

LM75AD温度传感器的应用(1)

LM75A是一种使用片上带隙温度传感器和Sigma-delta a-d转换技术的温度-数字转换器。该装置也是提供超温检测输出的热检测器。LM75A包含多个数据寄存器:配置寄存器(Conf)用于存储设备设置&#xff0c;如第7节“功能描述”中所述的设备操作模式、操作系统操作模式、操作系统极性和…

APT75DQ60BG ASEMI大功率快恢复二极管75A 600V

编辑&#xff1a;LL APT75DQ60BG ASEMI大功率快恢复二极管75A 600V 品牌&#xff1a;ASEMI 型号&#xff1a;APT75DQ60BG 封装&#xff1a;TO-247 电性参数&#xff1a;75A 600V 正向电流&#xff1a;75A 反向耐压&#xff1a;600V 引脚数量&#xff1a;2 芯片个数&am…

国鼎代理TP7512KTS1是75A,1200V高可靠性IGBT模块技术参数特征

主要特征 低VCE(sat) 低开关损耗 内置快恢复二极管 Tvj op150C VCE(sat)带正温度系数 极限参数 除非另有说明 , 否则TA 25C IGBT,逆变器 符号参数参数范围单位VCES集电极—发射极电压1200VVGES栅极-发射极电压20VIC连续集电极电流 (TC95℃ ),Tvj max175C75AICpulse集电极脉冲…

ca75a_c++_标准IO库-利用流对象把文件内容读取到向量-操作文件

/*ca75a_c_标准IO库习题练习 习题8.3,8.4,8.6 习题8.9、8.10 ifstream inFile(fileName.c_str()); 1>d:\users\txwtech\projects\ca75a\ca75a\ca75a.cpp(28): error C2079: “inFile”使用未定义的 class“std::basic_ifstream<char,std::char_traits<char>>”…

RK3288:linux系统中基于I2C的数字温度传感器TCN75A的驱动调试

CPU:RK3288 Kernel&#xff1a;4.4 Systerm:linux&#xff08;buidroot&#xff09; IC&#xff1a;TCN75A 下面我们来看这款芯片的介绍&#xff1a; 引脚介绍&#xff0c;一共八个引脚&#xff1a; 引脚描述&#xff1a; 我选择的是9位&#xff0c;0.5度的分辨率。 默认极限…