打印

求助I2C程序

[复制链接]
1910|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yangbo_zd|  楼主 | 2008-5-6 14:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

下面是我写的程序:
1 使能I2C、PB
2 设置对应管脚为I2C功能
3 使能I2C
4 初始化I2C
5 发送开始、数据、结束

但是I2C上SDA、SCL一直是高电平,没有一点反应
不知道是我哪里做错了?
        GPIO_InitTypeDef GPIO_InitStructure;
        I2C_InitTypeDef I2C_InitStructure;

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

        GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_6 | GPIO_Pin_7;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
        GPIO_Init(GPIOB, &GPIO_InitStructure);

        I2C_Cmd(I2C1, ENABLE);

        I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
        I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
        I2C_InitStructure.I2C_OwnAddress1 = 0x30;
        I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
        I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
        I2C_InitStructure.I2C_ClockSpeed = 200000;

        I2C_Init(I2C1, &I2C_InitStructure); 

I2C_GenerateSTART(I2C1, ENABLE);

        I2C_SendData(I2C1, 0x55);

        I2C_GenerateSTOP(I2C1, ENABLE);
沙发
香水城| | 2008-5-6 15:06 | 只看该作者

STM32固件库中的例子可以用吗?

STM32固件库中有5个关于I2C的例子。

使用特权

评论回复
板凳
yangbo_zd|  楼主 | 2008-5-6 17:21 | 只看该作者

搞定了


把例子5照抄了一遍就好了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

106

帖子

0

粉丝