基于STM32F103C8T6的模拟IIC实现FDC2214通信问题

Other Parts Discussed in Thread: FDC2214

硬件平台:自己手画的基于STM32F103C8T6的FDC2214驱动板

通信方式:模拟I2C

问题:FDC2214无应答,SDA控制权交由FDC2214后,始终无法拉低(上拉电阻从1.5k、2.2k、4.7k都测试过)

固件部分代码:

#define SDA_IN() {GPIOB->CRH &= 0xFFFF0FFF; GPIOB->CRH |= 0x00008000;} //PB11输入模式
#define SDA_OUT() {GPIOB->CRH &= 0xFFFF0FFF; GPIOB->CRH |= 0x00003000;} //PB11输出模式

#define IIC_SCL GPIO_PIN_10 //SCL
#define IIC_SDA GPIO_PIN_11 //SDA
#define READ_SDA HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_11) //输入SDA

GPIO_InitTypeDef GPIO_Initure;

__HAL_RCC_GPIOB_CLK_ENABLE(); //使能GPIOB时钟

GPIO_Initure.Pin = IIC_SCL | IIC_SDA;
GPIO_Initure.Mode = GPIO_MODE_OUTPUT_OD; //推挽输出(GPIO_MODE_OUTPUT_PP也测试过)
GPIO_Initure.Speed = GPIO_SPEED_FREQ_HIGH; //快速
HAL_GPIO_Init(GPIOB, &GPIO_Initure);

HAL_GPIO_WritePin(GPIOB, IIC_SCL, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, IIC_SDA, GPIO_PIN_SET);

部分测试过程,核心依然是STM32,但FDC使用TI开发板的FDC板(与MSP430掰开后与STM32连接),测试都有应答信号,且读出器件ID以及写入的值都正常,但换做自行设计FDC就有问题,而自行设计的FDC原理与开发板一致,初步怀疑是焊接导致(都是自己手动焊接),但补焊后问题依然

请问又遇到过类似情况的么?