CC2530 SHT21 IIC 温湿度传感器驱动实现与速率测试(主机模式)

转载请注明出处,谢谢!

Newbit-Msming 2018-6-15

SHT21 温湿度传感器驱动实现与速率测试(主机模式 Host Master)

非主机模式:CC2530 SHT21 IIC 温湿度传感器驱动实现与速率测试(非主机模式)

环境:Windows 10、IAR 10.10

SDK: Z-Stack 3.0.1

IC:CC2530

工程:NewbitTemperatureHumiditySensor

测试仪器:Tektronix TBS 1202B

时间请查看 △(光标1和光标2的时间差)

主机模式下,按照官方文档配置SCL让其产生中断,中断是产生了,但就是读不到准确数据,基本上都是

读到0xFFFF,偶尔0xDFFF,CRC永远都是0xFF,最重要的是SHT21还会给你一个应答。。。被气到了!

一开始怀疑时钟太快,因为刚测试完非主机模式,SCL频率达到1.042MHz,赶紧把时钟调到100kHz,结

果还是读到0xFFFF…尝试了各种方法,头都大了。。。一大堆脑细胞濒临死亡。。。就在想撒手不干的时

候发现SHT21拉低SDA比拉高SCL要早上不少,好像看到希望啊!!!果断把中断改为SDA中断,果然王

天不负有心人,将中断改成SDA后第一次测试就成功了!成功了!测试发现SDA大概比SCL提前700多us

变化,但为什么换成SCL就不行呢?还请知道的朋友告诉一下,谢谢!

既然可以顺利读取数据,那就测试一下主机模式SHT21的速率,测得的各个部分信息如下:

IIC SCL 读命令时钟频率 131.5 kHz
IIC SCL 写命令时钟频率 1.042 MHz
SDA SCL 中断时间差 SDA比SCL早 774us
读取湿度&CRC-读命令时间 264us
读取湿度-读命令时间 176us
读取温度&CRC-读命令时间 264us
读取温度-读命令时间 176us
启动测湿-写命令时间 43.6us
启动测温-写命令时间 43.6us
主机模式中断时间 14bit 温度 68ms

代码请查看附件(主机模式和非主机模式的代码)

附件-代码

你可能感兴趣的:(ZigBee,Ti,Z-Stack)