pg电子游戏试玩平台网站-pg电子娱乐平台 > 产品 > 问答 > bh1750,哪位好心人能给我 亮度传感器 bh1750fvi 的资料啊要具体的这里

bh1750,哪位好心人能给我 亮度传感器 bh1750fvi 的资料啊要具体的这里 -pg电子游戏试玩平台网站

来源:整理 时间:2023-08-16 10:46:22 编辑:智能门户 手机版

本文目录一览

1,哪位好心人能给我 亮度传感器 bh1750fvi 的资料啊要具体的这里

一下这个地址可以直接下载该产品的pdf资料www.rohm.com/products/databook/sensor/pdf/bh1750fvi-e.pdf

哪位好心人能给我 亮度传感器 bh1750fvi 的资料啊要具体的这里

2,bh1750fvi模块ad0引脚接单片机的哪个引脚

你好!接那个脚都行,程序里面定义就行
不能直接连接单片机,因为bh1750fvi光照传感器产生的是模拟量,需要先与as/da芯片连接,在与单片机连接

bh1750fvi模块ad0引脚接单片机的哪个引脚

3,keil里提出这个错误stcbh1750c232 error c141 syntax error near

bhbh1750_sendbytebyte(byte dat)前面这句中参数byte在这个函数中不被识别。被认为是语法错误。如果这个函数是你自己写的,那你看一下实参是不是在哪个头文件里有宏定义,而你没有在这个文件中包含该头文件。如果不是你写的,而是库文件,那你就需要查看一下工程目录下缺少哪个库文件导致byte的宏定义不存在。进而使编译器不认这个byte。byte应该是一个数据类型,用来强制类型转换dat这个实参的。
虽然我很聪明,但这么说真的难到我了

keil里提出这个错误stcbh1750c232 error c141 syntax error near

4,i2c总线连接bh1750发送数据后一直没回ack什么情况求大神解

1、当从机不能响应从机地址时(例如它正忙于其他事而无法响应iic总线的操作,或者这个地址没有对应的从机),在第9个scl周期内sda线没有拉低,即没有ack信号。这时,主机发出一个p信号终止传输或者重新发出一个s信号开始新的传输。2、如果从机接收器在传输过程中不能接收更多的数据时,它不会发出ack信号。这样,主机就可以意识到这点,从而发出一个p信号终止传输或者重新发出一个s信号开始新的传输。3、主机接收器在接收到最后一个字节后,也不会发出ack信号。于是,从机发送器释放sda线,以允许主机发出p信号结束传输。好像不包括从机地址不存在的情况
期待看到有用的回答!

5,如何找bh1750的在iic总线中的地址

iic上的每个器件是否都要一个地址寄存器来确定自己的地址:很多器件都是通过硬件来确定地址的。  有的在出厂时地址就设置好了,用户不可以更改,有的确定了几位,剩下几位由硬件确定(比如有三位由用户确定,就留有3个控制地址的引脚),此类较多;还有的有地址寄存器。  严格讲,主机不是向从机发送地址,而是主机往总线上发送地址,所有的从机都能接收到主机发出的地址,然后每个从机都将主机发出的地址与自己的地址比较,如果匹配上了,这个从机就会向主机发出一个响应信号。主机收到响应信号后,开始向总线上发送数据,与这个从机的通讯就建立起来了。如果主机没有收到响应信号,则表示寻址失败。  比如带iic的单片机,会有地址寄存器,寄存器里的值即为它作为从机时的地址。  最常见的情况,主从器件的角色是确定的,也就是说从机一直工作在从机模式。它的地址确定方法我已经说过了。不同的器件定义地址的方式是不同的,有的是软件定义,有的是硬件定义。

6,bh1750传感器电路问题求助

这种电路一般没人提供给你的这涉及到技术保密协议了传感器是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。传感器的特点包括:微型化、数字化、智能化、多功能化、系统化、网络化。它是实现自动检测和自动控制的首要环节。传感器的存在和发展,让物体有了触觉、味觉和嗅觉等感官,让物体慢慢变得活了起来。通常根据其基本感知功能分为热敏元件、光敏元件、气敏元件、力敏元件、磁敏元件、湿敏元件、声敏元件、放射线敏感元件、色敏元件和味敏元件等十大类。
//**********************************************************//**iic驱动程序**//**单片机:stc12c5410ad主频:24mhz**//**jumping<2008.04.20>**//**********************************************************//#include//at89c4051头文件#include"../inc/stc12c5410ad.h"//at89c4051头文件#include//系统调令头文件#include"def.h"//类型定义文件#include"config.h"//配置头文件#include"iic.h"//配置头文件#include"uart.h"//配置头文件#definesomenop();//*****变量声明****intch0,ch1;//***函数声明***voidi2c_start(void);voidi2c_stop(void);boolsend_byte_i2c(bytetmdata);byteread_byte_i2c_ack();byteread_byte_i2c_noack();uchartsl2561_read_byte(ucharaddr);voidinittsl256x(void);intgetlux(void);//boolread_data_i2c(byteinum,unsignedintwaddr,bytetmdata[64]);//boolwrite_data_i2c(byteinum,unsignedintwaddr,bytetmdata[64]);//***************************************************************************************unsignedintcalculatelux(unsignedintigain,unsignedinttint,unsignedintch0,unsignedintch1,intitype);//#pragmaoptimize(5)/********************************************************************************名称:i2c_start()*功能:启动i2c操作*入口参数:无*出口参数:无*******************************************************************************/voidi2c_start(void)sda=0;scl=0;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始sda=1;scl=1;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始sda=0;scl=0;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始sda=1;scl=1;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始sda=0;scl=0;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始sda=1;scl=1;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始sda=0;scl=0;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始sda=1;scl=1;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始sda=1;scl=0;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始sda=1;scl=1;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始sda=0;somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始somenop();//数据线保持高,时钟线从高到低一次跳变,i2c通信开始}/********************************************************************************名称:i2c_stop()*功能:结束i2c操作*入口参数:无*出口参数:无*******************************************************************************/voidi2c_stop(void)sda=0;somenop();//数据线保持低,时钟线从低到高一次跳变,i2c通信停止scl=1;somenop();sda=1;somenop();}/********************************************************************************名称:i2c_start()*功能:启动i2c操作*入口参数:无*出口参数:无*******************************************************************************/voidsendack(void)sda=1;scl=0;somenop();//数据线保持低,时钟线发生一次从高低的跳变发送一个应答信号scl=1;somenop();//scl=0;}/********************************************************************************名称:i2c_start()*功能:启动i2c操作*入口参数:无*出口参数:无*******************************************************************************/voidsendnotack(void)sda=1;scl=0;somenop();//数据线保持高,时钟线发生一次从高低的跳变没有应答scl=1;somenop();//scl=0;}/********************************************************************************名称:i2c_start()*功能:启动i2c操作*入口参数:无*出口参数:无*******************************************************************************/boolsend_byte_i2c(bytech)unsignedchari=8;while(i--)scl=0;_nop_();sda=(bit)(ch&0x80);ch<<=1;somenop();//时钟保持低可以发送数据scl=1;somenop();}scl=0;sendnotack();return0;}/********************************************************************************名称:i2c_start()*功能:启动i2c操作*入口参数:无*出口参数:无*******************************************************************************/byteread_byte_i2c_ack(void)bytei,tdata;i=8;tdata=0;sda=1;_nop_();_nop_();_nop_();while(i--)tdata<<=1;scl=0;somenop();scl=1;somenop();//时钟做一次从低到高的跳变可以接收数据tdata|=sda;}scl=0;sendack();returntdata;}/********************************************************************************名称:i2c_start()*功能:启动i2c操作*入口参数:无*出口参数:无*******************************************************************************/byteread_byte_i2c_noack()bytei;bytetmdata=0;sda=1;for(i=0;i<8;i )tmdata*=2;scl=1;if(sda)tmdata|=0x01;scl=0;_nop_();_nop_();_nop_();_nop_();_nop_();}/*scl=0;*/returntmdata;}/********************************************************************************名称:tsl2561_write_byte()*功能:启动i2c操作*入口参数:无*出口参数:无*******************************************************************************/uchartsl2561_write_byte(unsignedcharaddr,unsignedchardat)ucharstatus=0;i2c_start();//开始status=send_byte_i2c(tsl2561_addr|tsl2561_wr);//写tsl2561地址status=send_byte_i2c(0x80|addr);//写命令status=send_byte_i2c(dat);//写数据i2c_stop();//停止delay_1ms(2);//延时2msreturn0;}/********************************************************************************名称:tsl2561_read_byte()*功能:启动i2c操作*入口参数:无*出口参数:无*******************************************************************************/uchartsl2561_read_byte(ucharaddr)ucharstatus=0;i2c_start();//开始status=send_byte_i2c(tsl2561_addr|tsl2561_wr);//写tsl2561地址status=send_byte_i2c(0x80|addr);//写命令i2c_start();//re开始status=send_byte_i2c(tsl2561_addr|tsl2561_rd);//写tsl2561地址status=read_byte_i2c_ack();//读数据i2c_stop();//停止delay_1ms(10);returnstatus;}/********************************************************************************名称:inittsl256x()*功能:启动i2c操作*入口参数:无*出口参数:无*******************************************************************************/voidinittsl256x(void)ucharstatus;status=tsl2561_write_byte(0x00,pwup);//寄存器00h//status=tsl2561_write_byte(0x01,0x12);//寄存器00hstatus=tsl2561_write_byte(0x01,0x02);//寄存器00h//jumping080522changethegainto1xstatus=tsl2561_write_byte(0x02,0x00);//寄存器00hstatus=tsl2561_write_byte(0x03,0x00);//寄存器00hstatus=tsl2561_write_byte(0x04,0x00);//寄存器00hstatus=tsl2561_write_byte(0x05,0x00);//寄存器00hstatus=tsl2561_write_byte(0x06,0x00);//寄存器00h/*i2c_start();//开始status=send_byte_i2c(tsl2561_addr|tsl2561_wr);//写tsl2561地址//jumpingtestwhile(!status)//testthetsl2561ackled=0;led=1;status=send_byte_i2c(0x90|reg_ctr);//写命令//i2c_start();//开始//status=send_byte_i2c(tsl2561_addr|tsl2561_rd);//写tsl2561地址status=send_byte_i2c(0x07);//写nge????????status=send_byte_i2c(pwup);//寄存器00hstatus=send_byte_i2c(0x12);//寄存器01h-thegain=116x-thetimer=10401msstatus=send_byte_i2c(0x00);//寄存器02hstatus=send_byte_i2c(0x00);//寄存器03hstatus=send_byte_i2c(0x00);//寄存器04hstatus=send_byte_i2c(0x00);//寄存器05hstatus=send_byte_i2c(0x00);//寄存器06hnointerrupti2c_stop();//停止*/delay_1ms(10);//延时10ms}//****************************************************************************////pg电子娱乐平台 copyright-handsonjumping,inc.////luxequationapproximationwithoutfloatingpointcalculations////////////////////////////////////////////////////////////////////////////////routine:unsignedintcalculatelux(unsignedintch0,unsignedintch0,intitype)////description:calculatetheapproximateilluminance(lux)giventheraw//channelvaluesofthetsl2560.theequationifimplemented//asapiece.wiselinearapproximation.////arguments:unsignedintigain.gain,where0:1x,1:16x//unsignedinttint.integrationtime,where0:13.7ms,1:100ms,2:402ms,//3:manual//unsignedintch0.rawchannelvaluefromchannel0oftsl2560//unsignedintch1.rawchannelvaluefromchannel1oftsl2560//unsignedintitype.packagetype(torcs)////return:unsignedint.theapproximateilluminance(lux)////////////////////////////////////////////////////////////////////////////////unsignedintcalculatelux(unsignedintigain,unsignedinttint,unsignedintch0,unsignedintch1,intitype)unsignedlongratio1;unsignedlongratio;unsignedlongtemp;unsignedlonglux;unsignedlongchscale;//tsl2561unsignedlongchannel1;//tsl2561unsignedlongchannel0;//tsl2561unsignedintb,m;//........................................................................//first,scalethechannelvaluesdependingonthegainandintegrationtime//16x,402msisnominal.//scaleifintegrationtimeisnot402msecswitch(tint)case0://13.7msecchscale=chscale_tint0;break;case1://101msecchscale=chscale_tint1;break;default://assumenoscalingchscale=(1<>ch_scale;channel1=(ch1*chscale)>>ch_scale;//........................................................................//findtheratioofthechannelvalues(channel1/channel0)//protectagainstdividebyzeroratio1=0;if(channel0!=0)ratio1=(channel1<<(ratio_scale 1))/channel0;//roundtheratiovalueratio=(ratio1 1)>>1;//isratio<=eachbreak?switch(itype)case0://tpackageif((ratio>=0)&&(ratio<=k1t))elseif(ratio<=k2t)elseif(ratio<=k3t)elseif(ratio<=k4t)elseif(ratio<=k5t)elseif(ratio<=k6t)elseif(ratio<=k7t)elseif(ratio>k8t)break;case1://cspackage/*if((ratio>=0)&&(ratio<=k1c))elseif(ratio<=k2c)elseif(ratio<=k3c)elseif(ratio<=k4c)elseif(ratio<=k5c)elseif(ratio<=k6c)elseif(ratio<=k7c)elseif(ratio>k8c)*/break;}temp=((channel0*b)-(channel1*m));//donotallownegativeluxvalueif(temp<0)temp=0;//roundlsb(2^(lux_scale.1))temp =(1<<(lux_scale-1));//stripofffractionalportionlux=temp>>lux_scale;return(lux);}/********************************************************************************名称:getlux()*功能:启动i2c操作*入口参数:无*出口参数:无*******************************************************************************/intgetlux(void)inti;i=0;ch0=tsl2561_read_byte(reg_ch0_l);ch0=ch0 tsl2561_read_byte(reg_ch0_h)*256;ch1=tsl2561_read_byte(reg_ch1_l);ch1=ch1 tsl2561_read_byte(reg_ch1_h)*256;i=calculatelux(gain_1x,itime_400ms,ch0,ch1,foottype_t);return(i);}
文章tag:

最近更新

  • 超市里用的机器人,超市机器人服务员超市里用的机器人,超市机器人服务员

    开口机器人超市?永辉超市应用rpa金融机器人莱耀永辉超市应用rpa金融机器人莱耀永辉超市应用rpa金融-扫地机器人有用吗?口碑好的扫地机器人包括:冰尊扫地机器人、飞利浦扫地机器人、irobo.....

    问答 日期:2023-08-16

  • 数据盲区,汽车盲区事故数据数据盲区,汽车盲区事故数据

    数据证券法鼓励数据依法合理有效利用,保障数据依法有序自由流动,促进以数据为关键要素的数字经济发展,增进人民福祉。因为根据官方发布的数据,a柱挡住视线,转弯盲区大,后面还有个大的盲区,中.....

    问答 日期:2023-08-16

  • 肖言,老爸回家 电视剧里面肖言是谁演的肖言,老爸回家 电视剧里面肖言是谁演的

    老爸回家电视剧里面肖言是谁演的2,男主叫杜星女主叫肖言的小说3,压在我身上的狐狸的结局是怎样的4,姓肖起什么名字有诗意5,仙人掌的悲伤你听不见是悲剧是还是喜剧6,仙人掌听不见我的悲伤结.....

    问答 日期:2023-08-16

  • 圆频率,怎么求圆频率圆频率,怎么求圆频率

    怎么求圆频率2,频率圆频率是什么3,圆频率的单位4,振动圆频率怎么求5,高二物理的圆频率6,如何理解振动中圆频率为啥不是角速度7,耦合摆中圆频率和频率有何区别8,什么是简谐运动的周期和频率圆.....

    问答 日期:2023-08-16

  • cat6e,关于光纤和双绞线的布线疑问cat6e,关于光纤和双绞线的布线疑问

    关于光纤和双绞线的布线疑问2,如何区分5类和6类网线双绞线易信购3,有人用普通网线用在千兆网络里面的吗4,这配置能用200m宽带吗5,五类超六类大对数电缆指的是什么意思英语如何翻译6,大家留.....

    问答 日期:2023-08-16

  • 西部数据驱动安装西部数据驱动安装

    西部数据mybook驱动你好。西部数据移动硬盘需要额外安装吗驱动不,根本不用usb移动存储设备驱动,移动硬盘用u盘和内存卡,西部数据移动硬盘连接电脑后无法正常运行,西部数据我的护照是第一次.....

    问答 日期:2023-08-16

  • 机器人四大家族股票代,四大家族机器人市场占有率机器人四大家族股票代,四大家族机器人市场占有率

    机器人股票代码是什么机器人祝你股票大赚一笔哈哈哈。机器人有哪些概念股机器人有哪些概念股的龙头股机器人():龙头公司拥有全球最丰富的机器人产品线,涵盖工业、民用、国防三大重要领.....

    问答 日期:2023-08-16

  • 计算机与大数据,南昌大学计算机与大数据计算机与大数据,南昌大学计算机与大数据

    数据理工大学数据is技术计算机类数据理工大学数据技术所属计算机专业。计算机da数据你想学的方向是什么?2021年就业好不好计算机da数据学的方向计算机基础课,,计算机网络应用与-1有关系吗.....

    问答 日期:2023-08-16

网站地图