Cypress技术论坛
直播中

李星童

8年用户 1148经验值
私信 关注

CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?

正在使用芯片:CY8C4025LQI,主要使用Capsense和EZI2C功能,其中引脚P0.4(SCL)和P0.5(SDA)用于I2C通信,并且P0.4需要加入SCL总线下拉功能来唤醒别的模块。
根据SCB数据手册指示,在EZI2C模块设置中勾选 terminial选项,并设置为Open-Drain-Drives-Low


在程序中调用以下函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉,请问是什么原因导致?



                                                                                                                                                                                                                                                                                                                                                                                                        
                                                     

回帖(2)

郑成枝

2024-5-31 11:08:51
I2C 可控制 GPIO 引脚 Port0。  您需要禁用 I2C 并重新配置 GPIO 以实现软件控制。
以下内容适用于 I2C 主设备,端口 0.4 更改为 GPIO 输出。  重新配置后,代码会切换 GPIO P0.4 的高/低电平。  您需要更改 EZI2C 的名称。
I2CM_Stop();
*(uint32*)CYREG_PRT0_DR = *(uint32*)CYREG_PRT0_PS; //读取端口状态并写入端口数据寄存器
uint32 regVal=CY_GET_REG32(CYREG_HSIOM_PORT_SEL0);/* 读取端口 0 的 HSIOM 寄存器 */
CY_SET_REG32(CYREG_HSIOM_PORT_SEL0,(regVal 0xFFF0FFFF)); /* 设置 P0.4 设置为 GPIO 开关控制 */
I2CM_scl_SetDriveMode(CY_SYS_PINS_DM_STRONG);

for(;;)
{
I2CM_scl_Write(0u);
CyDelay(1000);
I2CM_scl_Write(1u);
CyDelay(1000);
}

                                                                                                                                                                                                    
举报

甘满盛

2024-5-31 16:22:02
要解决这个问题,我们需要逐步检查可能的原因。以下是一些可能的原因和解决方案:

1. 检查硬件连接:
   确保P0.4引脚与SCL总线正确连接,并且没有短路或断路。检查其他模块的连接,确保它们没有影响SCL引脚的下拉。

2. 检查程序设置:
   重新检查EZI2C模块的设置,确保已经勾选了terminial选项,并设置为Open-Drain-Drives-Low。如果设置正确,尝试重新生成代码并重新烧录到芯片上。

3. 检查引脚配置:
   确保P0.4引脚没有被其他功能占用。检查芯片的引脚配置,确保P0.4引脚被分配为SCL功能。

4. 检查电源和地:
   确保芯片的电源和地连接正确,没有电源波动或接地问题。这可能会影响引脚的下拉功能。

5. 检查外部电路:
   如果可能,检查外部电路是否有问题,例如其他模块的引脚是否正常工作,或者是否有外部干扰导致SCL引脚无法下拉。

6. 检查示波器设置:
   确保示波器的设置正确,例如触发电平、时间基准等。错误的示波器设置可能导致无法观察到SCL引脚的波形。

7. 检查代码逻辑:
   仔细检查代码逻辑,确保在需要下拉SCL引脚时,程序已经正确调用了相关函数。

8. 检查芯片数据手册:
   重新查阅CY8C4025LQI的数据手册,确保理解了EZI2C模块的工作原理和配置方法。

通过以上步骤,我们可以逐一排查问题,找到导致P0.4(SCL)无法下拉的原因,并采取相应的解决方案。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分