有关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条回答
3htech
2019-07-16 05:55
你自己查一下手册。这是个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.

自己看看手册吧。别人告诉你怎么连之后,你也要自己编写驱动程序啊。别人也没空帮你写的。 最佳答案

一周热门 更多>