標題:
單片機程序 I2C一使能,I2CBSY就被置上了,我復(fù)位后再初始化使能,I2CBSY又被置上了
[打印本頁]
作者:
pyq151818
時間:
2023-4-15 15:48
標題:
單片機程序 I2C一使能,I2CBSY就被置上了,我復(fù)位后再初始化使能,I2CBSY又被置上了
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();
}
}
}
配置有什么問題嗎?我以前也是這么配的
作者:
pyq151818
時間:
2023-5-16 11:15
忘記結(jié)帖了,引腳速度配置的太塊
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1