请教:IIC读SM9541数据问题

2019-07-21 07:10发布

本帖最后由 北宸xyz 于 2016-7-21 20:53 编辑

采用IIC读写24C02的程序修改为读SM9541数据。
IIC读写24C02正常,把24C02芯片拆了,接上SM9541,采用跳线方式连接。

读数据代码:
u16Pressure 这个数据读回来值都是0xFFFF;
这个值 肯定是不对的。
u16Pressure = SM9541_ReadOneByte();

u16 SM9541_ReadOneByte(void)
{                                 
        u8 temp=0;
        u16 ReTemp=0;        
        IIC_Start();  
        IIC_Send_Byte((0x28<<1)+1);   //发送器件地址0X28<<1,读数据         
        IIC_Wait_Ack();
        temp=IIC_Read_Byte(1);        //发送ACK         
        ReTemp = temp<<8;        
        temp=IIC_Read_Byte(0);        //发送nACK            
        ReTemp = ReTemp + temp;        
        IIC_Stop();//产生一个停止条件            
        return ReTemp;
}


1.png
2.png
这个帖子我也看了
http://www.openedv.com/forum.php?mod=viewthread&tid=77527




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
志强
1楼-- · 2019-07-21 09:19
这个传感器的 SCL Clock 最高位400KHz 最低位100KHz
北宸xyz
2楼-- · 2019-07-21 14:27
 精彩回答 2  元偷偷看……
ghosttout
3楼-- · 2019-07-21 19:21
楼主的IIC驱动程序是用的原子吗?  我也在调SM9541,跟楼主完全一样的情况。换了单片机,还是有问题
北宸xyz
4楼-- · 2019-07-21 19:30
ghosttout 发表于 2017-9-12 10:02
楼主的IIC驱动程序是用的原子吗?  我也在调SM9541,跟楼主完全一样的情况。换了单片机,还是有问题

是的,我用的是原子的IIC,就是不是能。
然后用430单片机做了,就没用ST的芯片了。
我这二天有不公司,回去后把资料发出来。
LYiLP
5楼-- · 2019-07-21 20:48
楼主,能看一下你的资料吗?
1371212640@qq.com
谢谢
LYiLP
6楼-- · 2019-07-21 20:51
ghosttout 发表于 2017-9-12 10:02
楼主的IIC驱动程序是用的原子吗?  我也在调SM9541,跟楼主完全一样的情况。换了单片机,还是有问题

问题解决了吗?怎么解决的

一周热门 更多>