ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

[STM32F1] stm32模拟i2c读取bq40z50问题

[复制链接]
292|6
 楼主 | 2019-10-8 16:55 | 显示全部楼层 |阅读模式
现在用stm32的F103芯片用GPIO模拟i2c读取bq40z50电源管理芯片的数据,
unsigned char i2cRead(void)
{
        unsigned char count=8,Data=0;
        DAT_IN;//set SDA as input
        //NOP(4);
        while(count--)
        {
                SET_CLK;delay();
                Data=Data<<1;//Data shift left 1 bit
                if(READ_DAT)//==1)//问题:READ_DAT永远不为1
                Data=Data|0x01;//read data and save in Data
                CLR_CLK;delay();
        }       
        DAT_OUT;//set SDA as input
        delay();
        return(Data);
}
问题:READ_DAT永远不为1,导致读不到正确的数据,用示波器量也量不到波形,能给个建议我应该怎么做?

使用特权

评论回复
| 2019-10-9 00:40 | 显示全部楼层
如果有I2C硬件直接用硬件接口更换。

使用特权

评论回复
| 2019-10-9 10:43 | 显示全部楼层
首先要保证前面的发送地址等操作正确才有意义

使用特权

评论回复
| 2019-10-10 16:52 | 显示全部楼层
前面的地址对吗,我也正在在搞这个,读取也不正常,你的应答都正常吗

使用特权

评论回复
| 2019-10-16 11:13 | 显示全部楼层
weisan111 发表于 2019-10-10 16:52
前面的地址对吗,我也正在在搞这个,读取也不正常,你的应答都正常吗

请问搞定了吗,刚开始搞,想请教一下

使用特权

评论回复
| 2019-10-16 15:23 | 显示全部楼层
给的信息不全啊

使用特权

评论回复
| 2019-10-17 14:50 | 显示全部楼层
电流测到的老是不对,能指导下电流矫正怎么做吗

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表