[单片机][FUSB302][PD1.0][PD2.0]PD协议Demo例子代码.pdfVIP

  • 1
  • 0
  • 约2.88万字
  • 约 13页
  • 2026-03-11 发布于北京
  • 举报

[单片机][FUSB302][PD1.0][PD2.0]PD协议Demo例子代码.pdf

[[单单⽚⽚机机]][[FFUUSSBB330022]][[PPDD11..00]][[PPDD22..00]]PPDD协协议议DDeemmoo例例⼦⼦代代码码

/*宏定义*/

/*头⽂件*/

#includemain.h

/*构体定义*/

/*全局变量定义*/

uint8_tCCx_PIN_Useful=0;//0为没有1为cc12为cc2注意为1的时候不排除2有效

uint8_tUSB30_INT=0;//0--⽆PD消息通知1--PD消息通知

xdatauint8_tUSB30_TX_Buff[0]={0};//存放消息内容——TX

xdatauint8_tUSB30_RX_Buff[40]={0};//存放消息内容——RX

uint8_tRX_Length=0;//接收内容的长度

uint8_tPD_STEP=0;//0--PD协议未选择1--PD协议已选择2--收到数据消息3--数据读取完毕并解析

uint8_tPD_MSG_ID=0;//消息ID号

uint8_tPD_Version=0;//器件版本号

uint8_tPPS_State=0;//pps的控制状态0:不是pps档1:在pps档⾮调整模式2:pps档调整模式

uint16_tPPS_VOL=50000/0;//pps的电压20mv档默认5V

xdataPD_Source_Capabilities_TypeDefPD_Source_Capabilities_Inf[7]={0};

uint8_tPD_Source_Capabilities_Inf_num=0;

constuint8_tPD_Resq[14]=

{

0x1,0x1,0x1,0x13,0x86,

0x4,0x14,

0x00,0x00,0x00,0x03,

0xff,0x14,0xA1

};

/******************

笔记:

1、DelayTick=2

2、ADDR:D0==0==0x44;D0==1==0x44【写命令0x44读命令0x44|1】

*******************/

codeIIC_TYPEFUSB30_IIC={,0x44};

uint8_tnow_obj=0;

uint8_told_obj=0;

xdatauint16_tSupporting_voltage[10]={0};

xdatauint16_tSupporting_current[10]={0};

uint16_tPPS_MAX_VOL=0,PPS_MIN_VOL=0;//当前挡位⽀持的最⾼最低电压

/*应⽤程序*/

voidUSB30_Wite_Reg(uint8_tREG_ADDR,uint8_tDATA)

{

IIC_Start();//启动

IIC_WriteByte(FUSB30_IIC.ADDR);//设备地址

IIC_Wait_ACK();//等待数据响应

IIC_WriteByte(REG_ADDR);//发送寄存器地址

IIC_Wait_ACK();//等待数据响应

IIC_WriteByte(DATA);//发送数据

IIC_Wait_ACK();//等待数据响应

IIC_Stop();

文档评论(0)

1亿VIP精品文档

相关文档