OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8058|回复: 3

stm32f407的i2c

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2013-10-27
在线时间
0 小时
发表于 2014-3-11 20:44:22 | 显示全部楼层 |阅读模式
只要  往   从器件中   写地址   主控就会卡住!!! 这是什么原因啊?   有哪位遇到过这种问题不!!!求解答啊!!!

  下面是卡主的地方!!!   



急求!!!!!!!!








/*******************************************************************************
* Function Name : I2C_WriteOneByte
* Description   : 通过指定I2C接口写入一个字节数据
* Input         : - I2Cx:I2C寄存器基址
*                  - I2C_Addr:从器件地址
*                  - addr:预写入字节地址
*                  - value:写入数据
* Output         : None
* Return         : 成功返回0 
* Attention : None  
*******************************************************************************/  
uint8_t I2C_WriteOneByte(I2C_TypeDef *I2Cx,  uint8_t I2C_Addr,   uint8_t addr,   uint8_t value)
{
    /* 起始位 */  
// I2C_AcknowledgePolling(I2Cx,I2C_Addr);     ////卡住的地方 
while(I2C_GetFlagStatus(I2Cx, I2C_FLAG_BUSY));  
  I2C_GenerateSTART(I2Cx, ENABLE); //  
  while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_MODE_SELECT));  
//   /* 发送器件地址(写)*/  
  I2C_Send7bitAddress(I2Cx, I2C_Addr, I2C_Direction_Transmitter);  
  while(I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))    /////卡住的地方  
{
I2C_delay(100);  
}    
//   /*发送地址*/    
  I2C_SendData(I2Cx, addr);
// while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_BYTE_TRANSMITTED));  /////卡住的地方   
//
// /* 写一个字节*/  
  I2C_SendData(I2Cx, value);  
//   while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_BYTE_TRANSMITTED));    ////卡住的地方
//   /* 停止位*/
  I2C_GenerateSTOP(I2Cx, ENABLE);
// I2C_AcknowledgePolling(I2Cx,I2C_Addr);     //////卡住的地方
I2C_delay(1000);
return 0;
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-3-11 23:27:47 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-3-12 08:39:27 | 显示全部楼层
同意原子哥建议,用模拟的靠谱一点
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2013-10-27
在线时间
0 小时
 楼主| 发表于 2014-3-21 14:31:24 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
模拟I2C怎么弄啊??站长给点建议吧啊!!小弟没弄过啊 !
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 18:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表