iic jy901 单片机_JY-901的IIC通信协议,时钟无法读取数据

本人做毕业设计时,用到了JY-901这个模块用来测量姿态信息,参照IIC写了IIC程序,可是下载到板子上始终无反应,无法读取数据,想问下各位是什么原因,IIC的上拉电阻该如何配置?怎么才能读取JY-901IIC通信得来的数据?使用use Simulator,或者ST-LINK哪个才能实现在线的硬件仿真,如何才能看到读取的IIC数据呢?STM32F103的IIC接口电路IIC连接.jpg (19.1...
摘要由CSDN通过智能技术生成

本人做毕业设计时,用到了JY-901这个模块用来测量姿态信息,参照IIC写了IIC程序,可是下载到板子上始终无反应,无法读取数据,想问下各位是什么原因,IIC的上拉电阻该如何配置?怎么才能读取JY-901

IIC通信得来的数据?使用use Simulator,或者ST-LINK哪个才能实现在线的硬件仿真,如何才能看到读取的IIC数据呢?

STM32F103的IIC接口电路

IIC连接.jpg (19.16 KB, 下载次数: 14)

IIC连接管脚图

2018-5-24 20:16 上传

主要程序如下:

#include "iic901.h"

/JY-901的IIC驱动程序901iic.c和901iic.h/

void IIC_Init(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

//ÅäÖÃ

B6 PB7 Îa¿a©êä3ö  Ë¢DÂÆμÂêÎa10Mhz

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

//ó|óÃÅäÖÃμ½GPIOB

GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_SetBits(GPIOB,GPIO_Pin_10|GPIO_Pin_11);         //

SDA_OUT();     //sdaÏßêä3ö

IIC_SDA=1;

IIC_SCL=1;

}

/**************************êμÏÖoˉêy********************************************

*oˉêyÔ-Dí:                void IIC_Start(void)

*1|¡¡¡¡Äü:                2úéúIICÆeê¼DÅoÅ

*******************************************************************************/

void IIC_Start(void)

{

SDA_OUT();     //sdaÏßêä3ö

IIC_SDA=1;

IIC_SCL=1;

delay_us(4);

IIC_SDA=0;//START:when CLK is high,DATA change form high to low

delay_us(4);

IIC_SCL=0;//ÇˉסI2C×üÏߣ¬×¼±¸·¢Ëí»ò½óêÕêy¾Y

}

/**************************êμÏÖoˉêy********************************************

*oˉêyÔ-Dí:                void IIC_Stop(void)

*1|¡¡¡¡Äü:            //2úéúIICí£Ö1DÅoÅ

*******************************************************************************/

void IIC_Stop(void)

{

SDA_OUT();//sdaÏßêä3ö

IIC_SCL=0;

IIC_SDA=0;//STOP:when CLK is high DATA change form low to high

delay_us(4);

IIC_SCL=1;

IIC_SDA=1;//·¢ËíI2C×üÏß½áêøDÅoÅ

delay_us(4);

}

u8 IIC_Wait_Ack(void)

{

u8 ucErrTime=0;

SDA_IN();      //SDAéèÖÃÎaêäèë

IIC_SDA=1;delay_us(1);

IIC_SCL=1;delay_us(1);

while(READ_SDA)

{

ucErrTime++;

if(ucErrTime>250)

{

IIC_Stop();

return 1;

}

}

IIC_SCL=0;//ê±Öóêä3ö0

return 0;

}

/**************************êμÏÖoˉêy********************************************

*oˉêyÔ-Dí:             

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值