有关51单片机与加速度传感器adxl345采用i2c通信的问题

2019-07-16 03:24发布

我想请教一下我使用ADXL345采集数据,程序中为什不执行启动传感器的函数呢?单步调试时直接跳过,全速运行后最后返回数据总是0xff.
void ADXL345_Start()
{
    SDA = 1;                    //拉高数据线
    SCL = 1;                    //拉高时钟线
    Delay5us();                 //延时
    SDA = 0;                    //产生下降沿
    Delay5us();                 //延时
    SCL = 0;                    //拉低时钟线
}
我用的是伟福6000仿真软件仿真51单片机,与ADXL345用i2c总线通信,采用四线制,硬件连线时只需要连接scl sda altddres 和cs吗?vcc和gnd需不需要连接呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
jiangxiaowenzsz
1楼-- · 2019-07-17 00:13
实习医生杨
2楼-- · 2019-07-17 03:15
3htech 发表于 2012-12-3 08:26
你自己查一下手册。这是个SPI和IIC共有的器件。你用IIC通信时,CS必须拉高。
I2C mode is enabled if the  ...

是这样的,程序在买器件的时候已经给了,想着应该不是软件的问题!现在在调试总是有问题,所以怀疑可能是硬件连接出了问题!您的意思是说我的软件启动函数有问题,需要改进!谢谢啦
实习医生杨
3楼-- · 2019-07-17 06:39
 精彩回答 2  元偷偷看……
HardwareΘΤ
4楼-- · 2019-07-17 10:18
实习医生杨 发表于 2012-12-3 14:42
还有,GY-29型号传感器没有VDDIO这个引脚。

你测一下ALT_ADDRESS引脚 至少我的GY80是把这个接地了 所以用的是备用slave address 0x53,而不是默认的0x1D。这应该就是你通信建立不起来的原因。
ADXL的CSn引脚在GY-x上好像都是上拉的,不用你去连。
郑团伟
5楼-- · 2019-07-17 13:53
路过 看看!~~
goodluckydog
6楼-- · 2019-07-17 17:39
{:20:}

一周热门 更多>