微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 有关51单片机与加速度传感器adxl345采用i2c通信的问题

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

时间:10-02 整理:3721RD 点击:
我想请教一下我使用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需不需要连接呢?

你自己查一下手册。这是个SPI和IIC共有的器件。你用IIC通信时,CS必须拉高。
I2C mode is enabled if the CS pin is tied high to VDD I/O. The CS pin should always be tied high to VDD I/O or be driven by an external controller because there is no default mode if the CS pin is left unconnected.
自己看看手册吧。别人告诉你怎么连之后,你也要自己编写驱动程序啊。别人也没空帮你写的。

iic是四线制的吗?不是只有SDA和SCL的?

学习中,加油

那您知道和51连接时,具体都连接那些引脚吗?我用的是GY-29

谢谢!

请问您知道引脚具体怎么连接吗?

是这样的,程序在买器件的时候已经给了,想着应该不是软件的问题!现在在调试总是有问题,所以怀疑可能是硬件连接出了问题!您的意思是说我的软件启动函数有问题,需要改进!谢谢啦

还有,GY-29型号传感器没有VDDIO这个引脚。

你测一下ALT_ADDRESS引脚 至少我的GY80是把这个接地了 所以用的是备用slave address 0x53,而不是默认的0x1D。这应该就是你通信建立不起来的原因。
ADXL的CSn引脚在GY-x上好像都是上拉的,不用你去连。

路过 看看!~~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top