找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 1054|回復(fù): 1
收起左側(cè)

單片機(jī)程序 I2C一使能,I2CBSY就被置上了,我復(fù)位后再初始化使能,I2CBSY又被置上了

[復(fù)制鏈接]
ID:1062719 發(fā)表于 2023-4-15 15:48 | 顯示全部樓層 |閱讀模式
void I2C_Initialize(void)
{
        uint32_t tick;
        // GPIO clock enable
        rcu_periph_clock_enable(RCU_GPIOB);
        rcu_periph_clock_enable(RCU_I2C1);
        i2c_deinit(I2C1);
        gpio_init(GPIOB, GPIO_MODE_AF_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_10 | GPIO_PIN_11);

        /* I2C clock configure */
        i2c_clock_config(I2C1, 400000, I2C_DTCY_2);
        /* I2C address configure */
        i2c_mode_addr_config(I2C1, I2C_I2CMODE_ENABLE, I2C_ADDFORMAT_7BITS, 0x00);
        /* enable EEPROM_I2CDEV */
        i2c_enable(I2C1);
        /* enable acknowledge */
        i2c_ack_config(I2C1, I2C_ACK_ENABLE);
        
        tick =osKernelGetSysTimerCount();
        /* wait until I2C bus is idle */
        while(i2c_flag_get(I2C1, I2C_FLAG_I2CBSY))
        {
                if((tick+30)<osKernelGetSysTimerCount())
                {
                        i2c_deinit(I2C1);
                        i2c_software_reset_config(I2C1,I2C_SRESET_SET);
                        i2c_software_reset_config(I2C1,I2C_SRESET_RESET);
                        I2C_Initialize();
                }
        }
}
配置有什么問(wèn)題嗎?我以前也是這么配的

回復(fù)

使用道具 舉報(bào)

ID:1062719 發(fā)表于 2023-5-16 11:15 | 顯示全部樓層
忘記結(jié)帖了,引腳速度配置的太塊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表