TI中文支持网
TI专业的中文技术问题搜集分享网站

公司将量产BQ27541/BQ27411的项目,急求C语言IIC程序,用STM32的单片机

用单片机STM32F103ZET6做IIC通信,求例程

zhoucan bi:

求问:BQ27541的IIC和400KHZ的24C02的IIC有什么不同,为什么我只能读写24C02,不能读写BQ27541

zhoucan bi:

模拟IIC

void IIC27541_Start1(void){ SDA_OUT();     //sdaÏßÊä³ö IIC_SDA=1;       IIC_SCL=1; delay_us(5);  IIC_SDA=0;//START:when CLK is high,DATA change form high to low  delay_us(5); IIC_SCL=0;//ǯסI2C×ÜÏߣ¬×¼±¸·¢ËÍ»ò½ÓÊÕÊý¾Ý  delay_us(5);

}   //²úÉúIICÍ£Ö¹ÐźÅvoid IIC27541_Stop1(void){ SDA_OUT();//sdaÏßÊä³ö IIC_SCL=0; IIC_SDA=0;//STOP:when CLK is high DATA change form low to high  delay_us(5); IIC_SCL=1;  delay_us(5); IIC_SDA=1;//·¢ËÍI2C×ÜÏß½áÊøÐźŠdelay_us(66);           }

u8 IIC27541_Wait_Ack1(void){ u16 ucErrTime=0; SDA_IN();      //SDAÉèÖÃΪÊäÈë   IIC_SDA=1;delay_us(1);     IIC_SCL=1;delay_us(1);   while(READ_SDA) {  ucErrTime++;  if(ucErrTime>5000)  {   IIC_Stop();   return 1;  } } IIC_SCL=0;//ʱÖÓÊä³ö0      return 0;  }

void IIC27541_Send_Byte1(u8 txd){                            u8 t;    SDA_OUT();          IIC_SCL=0;//À­µÍʱÖÓ¿ªÊ¼Êý¾Ý´«Êä    for(t=0;t<8;t++)    {                      IIC_SDA=(txd&0x80)>>7;        txd<<=1;      delay_us(5);     IIC_SCL=1;  delay_us(5);   IIC_SCL=0;   delay_us(5);    }  }      //¶Á1¸ö×Ö½Ú£¬ack=1ʱ£¬·¢ËÍACK£¬ack=0£¬·¢ËÍnACK   u8 IIC27541_Read_Byte1(unsigned char ack){ unsigned char i,receive=0; SDA_IN();//SDAÉèÖÃΪÊäÈë    for(i=0;i<8;i++ ) {        IIC_SCL=0;         delay_us(2);  IIC_SCL=1;        receive<<=1;        if(READ_SDA)receive++;     delay_us(1);     }          if (!ack)        IIC_NAck();//·¢ËÍnACK    else        IIC_Ack(); //·¢ËÍACK       return receive;}

zhoucan bi:

发送AA也无应答

Kun Tan1:

回复 zhoucan bi:

电源管理那个程序搞定了吗  最近我也在搞  IIC有问题  能否指导下

yuchuan xing:

你用io口模拟iic需要配置sclk为上啦输出,sda在写时为上拉输出,在读时为上拉输入。

底层的iic 读写byte和发送和接收响应是通用的,你需要根据bq27541的寄存器读写规范进行读写才能通信成功。

祝成功!

Kun Tan1:

回复 yuchuan xing:

我是在外部用电阻上拉的。

请问BQ27541读写规范是哪部分,我是按照手册的时序写的,不过读出来的数据不正确

Bo Yuan3:

回复 Kun Tan1:

请问大神有没有搞定~ 同求stm32  BQ27541程序

赞(0)
未经允许不得转载:TI中文支持网 » 公司将量产BQ27541/BQ27411的项目,急求C语言IIC程序,用STM32的单片机
分享到: 更多 (0)