分享!模拟IIC,读取BH1750光强传感器!

2019-07-21 07:26发布

纠结了两天,终于弄好也,一开始一直想着移植别人现成的程序,可是网上资料很少,找了后移植还出了很多问题,后来狠下心,自己看着手册弄了,结果自己写比移植还快,还把IIC复习了一遍,还是自己动手好啊!!! 用的有原子哥的myiic.h,工程太大,直接上文件吧: 这是main中需要的: extern float result_lx;
void TaskBH1750(void *pdata)
{
 Init_BH1750();
 while(1)
 {
  Start_BH1750();  //power on   delay_ms(180);              //延时180ms
  Read_BH1750();     //连续读出数据,存储在BUF中
  Convert_BH1750(); //转换结果至result_lx   OSTimeDlyHMSM(0,0,0,500);
 } 
 GUI_DispDecAt(result_lx,0,60,5);
  GUI_DispStringAt("lx",50,60);
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
50条回答
小罗洛克
1楼-- · 2019-07-25 04:25
回复【30楼】爱博不专:
---------------------------------
原来如此,,,请教你一下,就是我现在用模拟的IIC读EEPROM,读出来的全是0XFF,怎么会这样呢?
zhang164534
2楼-- · 2019-07-25 07:07
你好,,我测试了你的代码,,怎么读出来的值,,BUF[0]和BUF[1]一直是255呢???
小罗洛克
3楼-- · 2019-07-25 08:14
回复【32楼】zhang164534:
---------------------------------
对啊,,我也是一直读出来的值是0XFF。全是255
zhang164534
4楼-- · 2019-07-25 13:26
回复【33楼】小罗洛克:
---------------------------------
好吧,,方便加个QQ交流一下吗??
小罗洛克
5楼-- · 2019-07-25 14:58
 精彩回答 2  元偷偷看……
爱博不专
6楼-- · 2019-07-25 16:23
回复【32楼】zhang164534:
---------------------------------
程序是我自己验证后发的,理论上应该是通用的,有可能是用的模块不同吧,有的模块设计的兼容性不太好少个上拉电阻什么就会出现问题,以前我用过一个蓝牙模块就是这样。建议你在IIC中增加延时试试,具体问题还是自己解决。或者你看着datasheet自己试着写写驱动,有时候问来问去真不如靠自己。

一周热门 更多>