蜜袋鼯 第③贴 RSL10-SENSE-GEVK 光照传感器驱动 写好了 分享给大家
[复制链接]
上一贴还是5月份发的帖子。。
简单介绍了下安森美的RLS10 传感器的板子,同时也抛出了个问题
那就是为啥光照传感器的初始化是失败的?
按理说例程和开发板不应该出现这种问题呀
官方介绍中的开发板上光照传感器,原本型号是NOA1305,就下图中的这个。
但实际发给我们的是下图中的那个绿色小玻璃方块。
显然不是一个封装的的传感器...当时我也没深究这个点,但是项目中需要用到光照度的数据
后来看到版主虾大,也发了个相关的帖子,里面找打了硬件层面上的根本原因,
帖子在此关于rsl10-sense-gevk板子环境光传感器不好用的问题
原来是发的货跟给的资料不一样了,升级成了V1.2版本的硬件了。
根据虾大的分析,这个小方块的型号是安森美的lv0104cs光照度传感器
(后来我也证实确实是这款传感器)
管理员小姐姐也在虾大的帖子中也回复了会快速反馈个官方
但那个帖子已经过去一个月了,我这两天上官网看了下,
这个板子的资料仍还是处于1.0的状态,丝毫没有更新的痕迹,
同时官方的例程库也停留在1.17.5的版本....
看来官方是指望不上了。。那就撸起袖子自己干咯。
LV0104CS 有了芯片的型号就好办了,到官网上找到了这个芯片的datasheet,(文件我放在了文章最后)
通过阅读芯片的datasheet,可以看到这个芯片跟NOA1305一样,都是用IIC通讯
那就好办了,既然开发板只是替换了个芯片,那说明硬件接口啥的都是一致的,通常情况下改下寄存器和ID就行了
从数据手册的简短介绍中可以看到这个传感器的ID信息为0x13 ,
读写一共只有两种形式,可以配置的寄存器也就那么几个。
于是我用NOA1305的驱动库改了个LV0104CS的驱动出来,源文件如下:
lv0104cs.zip
(6.59 KB, 下载次数: 5)
压缩包里一共有四个文件,分别是lv0104cs.c,lv0104cs.h,lv0104cs_lux.c,lv0104cs_lux.h
这四个文件和NOA1305驱动是一样的结构,因此移植也很容易,接下来介绍下使用方法。
以sense_product_test项目为例,copy工程到工作空间
在工程目录下建立一个include文件夹
将lv0104cs.c和lv0104cs_lux.c拖入src中,将lv0104cs.h和lv0104cs_lux.h拖入include中
在main.c中引用头文件,并将所有NOC1305的代码修改为LV0104CS的代码,如下所示:
main.c
#include <lv0104cs.h>
#include <lv0104cs_lux.h>
...
int32_t lv0104cs_status = -1;
...
/** Initialize LV0104CS. */
retval = LV0104CS_LUX_Initialize();
if (retval == LV0104CS_OK)
{
retval = LV0104CS_LUX_StartContinuous(0, NULL);
if (retval == LV0104CS_OK)
{
lv0104cs_status = 0;
}
else
{
lv0104cs_status = 2;
}
}
else
{
lv0104cs_status = 1;
}
...
printf(RTT_CTRL_CLEAR "Test status:\r\n");
printf("LV0104CS initialization: %s\r\n", lv0104cs_status == 0 ? COLORIZE("OK", GREEN) : COLORIZE("ERROR", RED));
if (lv0104cs_status == 0)
{
uint32_t lux = 0;
LV0104CS_LUX_ReadLux(&lux);
printf("LV0104CS measured value: " COLORIZE("%lu", YELLOW) " lux\r\n\n", lux);
}
编译一下,不出意外的话应该是0error的通过,然后我们debug或者下载到RSL10-SENSE-GEVK开发板中
通过 JLINK RTT Viewer就可以看到光照数据了~
LV0104CS还是有几个寄存器可以设置的,这些寄存器设置的配置我已经改好了,
有兴趣和需求的同学可以尝试用下这些配置接口。
LV0104CS的数据手册、驱动代码和移植好的sense_product_test工程文件我放在下面的压缩包中了,各位自取。
LV0104CS-D.pdf
(567.3 KB, 下载次数: 2)
NOA1305-D.pdf
(273.59 KB, 下载次数: 2)
RSL10-002GEVB_SCHEMATIC.pdf
(825.71 KB, 下载次数: 2)
lv0104cs.zip
(6.59 KB, 下载次数: 5)
sense_production_tests.zip
(448.74 KB, 下载次数: 3)
有什么问题,欢迎跟帖交流。
|