你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于STM32F103ZET6 I2C1不能使用的问题

[复制链接]
CWl436 提问时间:2012-3-29 11:09 /
I2C连接的设备是TPS65185
I2C_InitTypeDef  I2C_InitStructure;
int main(void)
{
    SystemInit();
    RCC_APB2PeriphClockCmd(RCC_GPIO_USE, ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
    PM_PWRUP_H;
    PM_WAKEUP_H;
    
    /* Enable I2C1 ----------------------------------------------------*/
    I2C_Cmd(I2C1, ENABLE);
    /* I2C1 configuration ------------------------------------------------------*/
    I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
    I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
    I2C_InitStructure.I2C_OwnAddress1 = 0x01;
    I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
    I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
    I2C_InitStructure.I2C_ClockSpeed = 100000;
    I2C_Init(I2C1, &I2C_InitStructure);    
    
    
     /*----- First transmission Phase -----*/
    /* Send I2C1 START condition */
    I2C_GenerateSTART(I2C1, ENABLE);
    /* Test on I2C1 EV5 and clear it */
    while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT));     
   
    /* Send I2C1 slave Address for write */
    I2C_Send7bitAddress(I2C1, 0x68, I2C_Direction_Transmitter);
    /* Test on I2C1 EV6 and clear it */
    while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));  运行到这里就过不去了,  总是没有回应; 请问哪里出现问题, 谢谢!
    /* Send Command */
    I2C_SendData(I2C1, 0x01);
    while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
    
    /* Send I2C1 STOP Condition */
    I2C_GenerateSTOP(I2C1, ENABLE);
}
收藏 评论2 发布时间:2012-3-29 11:09

举报

2个回答
废鱼 回答时间:2012-3-29 11:38:55

RE:关于STM32F103ZET6 I2C1不能使用的问题

建议使用模拟E2,很多网友都遇到过这样的问题。好像是I2C模块的问题。
CWl436 回答时间:2012-4-2 10:38:46

RE:关于STM32F103ZET6 I2C1不能使用的问题

模拟E2是什么?

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版