针对USBPD的体验这次使用的是CH32X035EVT中EXAM中的USBPD例程,使用的PD快充如下图:
这个例程可以直接编译下载,如何修改PD快充的输出呢?
在PD_Main_Proc( );中可以修改请求:
在例程中一共有5挡
/* PDO INDEX */
#define PDO_INDEX_1 1
#define PDO_INDEX_2 2
#define PDO_INDEX_3 3
#define PDO_INDEX_4 4
#define PDO_INDEX_5 5
对应PD快充如下图:
PDO_INDEX_1:
PDO_INDEX_2:
PDO_INDEX_3:
PDO_INDEX_4:
PDO_INDEX_5:
不过PD协议对时序或者应答要求应该是挺高的,例程中的使用非常的简单,主要是PD_Init( )完成USBPD的初始化;PD_Det_Proc( )连接状态检测;PD_Main_Proc( )是对PD状态的处理。
注意:该例程不能够直接修改请求,在编译下载对应的PDO_INDEX后还需要将PD数据线重新插拔一下,才能更新PD的输出状态。
到这里基本对CH32X035有了初步的了解,可以说CH32X035非常适用在使用PD快充的设备上,之前考察的目的就是想用在一个使用PD快充的加热台上,CH32X035可以轻松实现高电压的获取,风扇以及加热盘的PWM控制,液晶显示的SPI驱动以及外部中断的按键状态获取,一个芯片就都解决了。
|