USB2XXX 1.2
USB2XXX接口函数说明文档
载入中...
搜索中...
未找到
结构体 | 类型定义 | 函数
USB转PWM

USB转PWM接口函数和数据类型定义,也包含PWM监控相关函数和数据类型定义 更多...

结构体

struct  _PWM_CONFIG
 PWM初始化结构体定义 更多...
 
struct  _PWM_CAP_DATA
 PWM监控数据结构定义 更多...
 

类型定义

typedef struct _PWM_CONFIG PWM_CONFIG
 PWM初始化结构体定义
 
typedef struct _PWM_CONFIGPPWM_CONFIG
 
typedef struct _PWM_CAP_DATA PWM_CAP_DATA
 PWM监控数据结构定义
 

函数

int WINAPI PWM_Init (int DevHandle, PWM_CONFIG *pConfig)
 初始化PWM,使用PWM输出功能时该函数必须调用 更多...
 
int WINAPI PWM_Start (int DevHandle, unsigned char ChannelMask, unsigned int RunTimeUs)
 使能PWM输出 更多...
 
int WINAPI PWM_SetPulse (int DevHandle, unsigned char ChannelMask, unsigned short *pPulse)
 设置PWM占空比参数 更多...
 
int WINAPI PWM_SetPhase (int DevHandle, unsigned char ChannelMask, unsigned short *pPhase)
 设置PWM相位参数值 更多...
 
int WINAPI PWM_SetFrequency (int DevHandle, unsigned char ChannelMask, unsigned short *pPrescaler, unsigned short *pPrecision)
 设置PWM输出频率 更多...
 
int WINAPI PWM_Stop (int DevHandle, unsigned char ChannelMask)
 停止PWM输出 更多...
 
int WINAPI PWM2_Init (int DevHandle, unsigned char ChannelIndex, unsigned int Frequency, unsigned char Polarity, unsigned short Precision, unsigned short DutyCycle)
 新版本PWM初始化,使用PWM输出功能需要调用该函数 更多...
 
int WINAPI PWM2_Start (int DevHandle, unsigned char ChannelIndex, unsigned int RunTimeUs)
 启动已经初始化后的PWM通道 更多...
 
int WINAPI PWM2_SetDutyCycle (int DevHandle, unsigned char ChannelIndex, unsigned short DutyCycle)
 设置PWM占空比 更多...
 
int WINAPI PWM2_SetFrequency (int DevHandle, unsigned char ChannelIndex, unsigned int Frequency, unsigned short Precision)
 设置PWM输出瓶率 更多...
 
int WINAPI PWM2_Stop (int DevHandle, unsigned char ChannelIndex)
 停止PWM输出 更多...
 
int WINAPI PWM2_CtrlPowerOut (int DevHandle, unsigned char ChannelIndex, unsigned char VbatValue)
 控制VBAT引脚输出指定电压值 更多...
 
int WINAPI PWM_CAP_Init (int DevHandle, unsigned char Channel, unsigned char TimePrecUs)
 PWM监控初始化,PWM频率=1000000/((PWMData.LowValue+PWMData.HighValue)*TimePrecUs),PWM占空比=PWMData.HighValue/(PWMData.LowValue+PWMData.HighValue) 更多...
 
int WINAPI PWM_CAP_GetData (int DevHandle, unsigned char Channel, PWM_CAP_DATA *pPWMData)
 获取PWM监控到的最新数据值 更多...
 
int WINAPI PWM_CAP_GetAllData (int DevHandle, unsigned char Channel, PWM_CAP_DATA *pPWMData)
 获取PWM监控到的所有数据值 更多...
 
int WINAPI PWM_CAP_Stop (int DevHandle, unsigned char Channel)
 停止PWM数据监控 更多...
 

函数返回错误值宏定义

函数调用出错后返回值定义

#define PWM_SUCCESS   (0)
 函数执行成功
 
#define PWM_ERR_NOT_SUPPORT   (-1)
 适配器不支持该函数
 
#define PWM_ERR_USB_WRITE_FAIL   (-2)
 USB写数据失败
 
#define PWM_ERR_USB_READ_FAIL   (-3)
 USB读数据失败
 
#define PWM_ERR_CMD_FAIL   (-4)
 命令执行失败
 
#define PWM_ERR_ARG   (-5)
 传入函数参数异常
 

详细描述

USB转PWM接口函数和数据类型定义,也包含PWM监控相关函数和数据类型定义

函数说明

◆ PWM_Init()

int WINAPI PWM_Init ( int  DevHandle,
PWM_CONFIG pConfig 
)

初始化PWM,使用PWM输出功能时该函数必须调用

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
[in]pConfigPWM初始化参数结构体指针
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败
注意
不同型号产品对应的PWM主频时钟:
UTA0401/UTA0402/UTA0403/UTA0404/UTA0405/UTA0406 UTA0503 UTA0504 UTA0101/UTA0201/UTA0301/UTA0302
PWM主频
84MHz
220MHz
240MHz
200MHz

◆ PWM_Start()

int WINAPI PWM_Start ( int  DevHandle,
unsigned char  ChannelMask,
unsigned int  RunTimeUs 
)

使能PWM输出

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelMask使能PWM输出的通道,对应bit为1则开启该通道PWM输出
RunTimeUs输出PWM时间,单位为us,若要一直输出,则传入0即可,通过调用 PWM_Stop 停止输出
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM_SetPulse()

int WINAPI PWM_SetPulse ( int  DevHandle,
unsigned char  ChannelMask,
unsigned short *  pPulse 
)

设置PWM占空比参数

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelMask设置PWM占空比的通道,对应bit为1则修改对应通道的占空比,否则不更改
[in]pPulse占空比参数指针
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM_SetPhase()

int WINAPI PWM_SetPhase ( int  DevHandle,
unsigned char  ChannelMask,
unsigned short *  pPhase 
)

设置PWM相位参数值

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelMask设置PWM相位的通道,对应bit为1则修改对应通道的相位参数,否则不更改
pPhase相位参数指针
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM_SetFrequency()

int WINAPI PWM_SetFrequency ( int  DevHandle,
unsigned char  ChannelMask,
unsigned short *  pPrescaler,
unsigned short *  pPrecision 
)

设置PWM输出频率

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelMask设置PWM频率的通道,对应bit为1则修改对应通道的频率参数,否则不更改
pPrescaler预分频参数指针
pPrecision占空比精度指针
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM_Stop()

int WINAPI PWM_Stop ( int  DevHandle,
unsigned char  ChannelMask 
)

停止PWM输出

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelMask需要停止PWM输出的通道,对应bit为1则停止对应通道输出,否则不改变原来的状态
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM2_Init()

int WINAPI PWM2_Init ( int  DevHandle,
unsigned char  ChannelIndex,
unsigned int  Frequency,
unsigned char  Polarity,
unsigned short  Precision,
unsigned short  DutyCycle 
)

新版本PWM初始化,使用PWM输出功能需要调用该函数

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelIndexPWM通道号,通道号跟PWM通道对应关系见下面表格
FrequencyPWM输出频率值,单位为Hz
PolarityPWM输出空闲时电平极性,0-空闲时输出低电平,1-空闲时输出高电平
Precision占空比精度值,比如设置为100,则占空比调整精度为1,设置为1000,调整精度为0.1%
DutyCycle占空比值,实际输出咱空比=DutyCycle/Precision
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败
注意
PWM通道号跟PWM通道对应关系如下:
ChannelIndex UTA0401 UTA0402/UTA0403/UTA0404/UTA0405/UTA0503 UTA0504/UTA0505 UTA0101/UTA0201/UTA0301/UTA0302
0 LIN1 LIN1 LIN1 PWM_CH0
1 LIN2 LIN2 PWM_CH1
2 LIN3 PWM_CH2
3 LIN4 PWM_CH3
4 DO0 PWM_CH4
5 DO1 PWM_CH5
6 PWM_CH6
7 PWM_CH7

◆ PWM2_Start()

int WINAPI PWM2_Start ( int  DevHandle,
unsigned char  ChannelIndex,
unsigned int  RunTimeUs 
)

启动已经初始化后的PWM通道

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelIndexPWM通道索引号,具体可以参考 PWM2_Init
RunTimeUsPWM输出时间,单位为微秒,若需要一直输出,则传入0即可
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM2_SetDutyCycle()

int WINAPI PWM2_SetDutyCycle ( int  DevHandle,
unsigned char  ChannelIndex,
unsigned short  DutyCycle 
)

设置PWM占空比

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelIndexPWM通道索引号,具体可以参考 PWM2_Init
DutyCycle咱空比值,输出占空比=DutyCycle/Precision
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM2_SetFrequency()

int WINAPI PWM2_SetFrequency ( int  DevHandle,
unsigned char  ChannelIndex,
unsigned int  Frequency,
unsigned short  Precision 
)

设置PWM输出瓶率

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelIndexPWM通道索引号,具体可以参考 PWM2_Init
Frequency输出频率值,单位为Hz
Precision占空比精度值
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM2_Stop()

int WINAPI PWM2_Stop ( int  DevHandle,
unsigned char  ChannelIndex 
)

停止PWM输出

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelIndexPWM通道索引号,具体可以参考 PWM2_Init
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM2_CtrlPowerOut()

int WINAPI PWM2_CtrlPowerOut ( int  DevHandle,
unsigned char  ChannelIndex,
unsigned char  VbatValue 
)

控制VBAT引脚输出指定电压值

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelIndexPWM通道索引号,具体可以参考 PWM2_Init
VbatValueVBAT输出电压值
0 关闭VBAT引脚电压输出,关闭输出后,VBAT引脚需要外接电压LIN才能正常工作
或者12 VBAT引脚输出12V
或者5 VBAT引脚输出5V
返回
函数执行状态
返回值
0控制电压成功
<0函数调用失败

◆ PWM_CAP_Init()

int WINAPI PWM_CAP_Init ( int  DevHandle,
unsigned char  Channel,
unsigned char  TimePrecUs 
)

PWM监控初始化,PWM频率=1000000/((PWMData.LowValue+PWMData.HighValue)*TimePrecUs),PWM占空比=PWMData.HighValue/(PWMData.LowValue+PWMData.HighValue)

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
Channel监控通道号,0-LIN1,1-LIN2
TimePrecUs监控精度,单位为微秒,推荐设置为1,10,100,若被测信号频率较小,该值建议设置大一点
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM_CAP_GetData()

int WINAPI PWM_CAP_GetData ( int  DevHandle,
unsigned char  Channel,
PWM_CAP_DATA pPWMData 
)

获取PWM监控到的最新数据值

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
Channel监控通道号,0-LIN1,1-LIN2
[out]pPWMData监控到的PWM数据结构体指针
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ PWM_CAP_GetAllData()

int WINAPI PWM_CAP_GetAllData ( int  DevHandle,
unsigned char  Channel,
PWM_CAP_DATA pPWMData 
)

获取PWM监控到的所有数据值

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
Channel监控通道号,0-LIN1,1-LIN2
[out]pPWMData监控到的PWM数据结构体指针
返回
函数执行状态
返回值
>=0获取到的PWM数据帧数
<0函数调用失败

◆ PWM_CAP_Stop()

int WINAPI PWM_CAP_Stop ( int  DevHandle,
unsigned char  Channel 
)

停止PWM数据监控

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
Channel监控通道号,0-LIN1,1-LIN2
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败