关于CYPD7272如何区分USB PD设备和非USB PD设备的问题,以下是分步解答:
SDK版本与规范支持:
区分PD与非PD设备的方法:
// 在设备连接事件回调中(如APP_EVT_DEVICE_CONNECTED)
if (event_flags & APP_EVT_PD_CONTRACT_NEGOTIATION_COMPLETE) {
// PD设备:协商完成,可读取PDO电压电流
uint32_t vbus_mv = Cy_Pd_GetVbusVoltage();
// 进一步处理PD协议逻辑
} else {
// 非PD设备:VBUS保持默认5V,无PD通信
if (Cy_Pd_GetVbusVoltage() == 5000) { // 单位mV
// 确认为传统5V设备
}
}Cy_Pd_GetCcStatus()),非PD设备可能仅维持USB Type-C默认供电模式(如Rp/Rd未触发PD通信)。Cy_Pd_CheckIfPdDeviceConnected()专用API直接查询PD握手状态。注意事项:
如需进一步优化设备兼容性,可在代码中增加对传统BC1.2协议的检测分支(通过D+/D-电压检测)。
举报
更多回帖