USB2XXX 1.2
USB2XXX接口函数说明文档
载入中...
搜索中...
未找到
usb2pwm.h
1
9#ifndef __USB2PWM_H_
10#define __USB2PWM_H_
11
12#include <stdint.h>
13#ifdef _WIN32
14#include <Windows.h>
15#else
16#include <unistd.h>
17#ifndef WINAPI
18#define WINAPI
19#endif
20#endif
30typedef struct _PWM_CONFIG{
31 unsigned short Prescaler[8];
32 unsigned short Precision[8];
33 unsigned short Pulse[8];
34 unsigned short Phase[8];
35 unsigned char Polarity[8];
36 unsigned char ChannelMask;
38
42typedef struct _PWM_CAP_DATA{
43 unsigned short LowValue;
44 unsigned short HighValue;
46
52#define PWM_SUCCESS (0)
53#define PWM_ERR_NOT_SUPPORT (-1)
54#define PWM_ERR_USB_WRITE_FAIL (-2)
55#define PWM_ERR_USB_READ_FAIL (-3)
56#define PWM_ERR_CMD_FAIL (-4)
57#define PWM_ERR_ARG (-5)
60#ifdef __cplusplus
61extern "C"
62{
63#endif
64//UTA0101 UTA0201 UTA0301 UTA0302引脚定义参考引脚定义说明文档,主频为200M
65//UTA0403 UTA0402 UTA0401 LIN1对应的PWM通道为0x40,LIN2对应的PWM通道为0x80,主频84M
66//UTA0503 LIN1对应的PWM通道为0x02,LIN2对应的PWM通道为0x04,主频220M
67//UTA0504 LIN1->0x01 LIN2->0x02 LIN3->0x04 LIN4->0x08 DO0->0x10 DO1->0x20,主频240M
68
82int WINAPI PWM_Init(int DevHandle, PWM_CONFIG *pConfig);
83
93int WINAPI PWM_Start(int DevHandle,unsigned char ChannelMask,unsigned int RunTimeUs);
94
104int WINAPI PWM_SetPulse(int DevHandle,unsigned char ChannelMask,unsigned short *pPulse);
105
115int WINAPI PWM_SetPhase(int DevHandle,unsigned char ChannelMask,unsigned short *pPhase);
116
127int WINAPI PWM_SetFrequency(int DevHandle,unsigned char ChannelMask,unsigned short *pPrescaler,unsigned short *pPrecision);
128
137int WINAPI PWM_Stop(int DevHandle,unsigned char ChannelMask);
138
163int WINAPI PWM2_Init(int DevHandle, unsigned char ChannelIndex,unsigned int Frequency, unsigned char Polarity,unsigned short Precision, unsigned short DutyCycle);
164
174int WINAPI PWM2_Start(int DevHandle, unsigned char ChannelIndex, unsigned int RunTimeUs);
175
185int WINAPI PWM2_SetDutyCycle(int DevHandle, unsigned char ChannelIndex, unsigned short DutyCycle);
186
197int WINAPI PWM2_SetFrequency(int DevHandle, unsigned char ChannelIndex, unsigned int Frequency, unsigned short Precision);
198
207int WINAPI PWM2_Stop(int DevHandle, unsigned char ChannelIndex);
208
221int WINAPI PWM2_CtrlPowerOut(int DevHandle, unsigned char ChannelIndex, unsigned char VbatValue);
222
232int WINAPI PWM_CAP_Init(int DevHandle, unsigned char Channel,unsigned char TimePrecUs);
233
243int WINAPI PWM_CAP_GetData(int DevHandle, unsigned char Channel,PWM_CAP_DATA *pPWMData);
244
254int WINAPI PWM_CAP_GetAllData(int DevHandle, unsigned char Channel, PWM_CAP_DATA* pPWMData);
255
264int WINAPI PWM_CAP_Stop(int DevHandle, unsigned char Channel);
265#ifdef __cplusplus
266}
267#endif
268
270#endif
int WINAPI PWM2_CtrlPowerOut(int DevHandle, unsigned char ChannelIndex, unsigned char VbatValue)
控制VBAT引脚输出指定电压值
int WINAPI PWM_SetPulse(int DevHandle, unsigned char ChannelMask, unsigned short *pPulse)
设置PWM占空比参数
int WINAPI PWM_SetFrequency(int DevHandle, unsigned char ChannelMask, unsigned short *pPrescaler, unsigned short *pPrecision)
设置PWM输出频率
int WINAPI PWM_CAP_Init(int DevHandle, unsigned char Channel, unsigned char TimePrecUs)
PWM监控初始化,PWM频率=1000000/((PWMData.LowValue+PWMData.HighValue)*TimePrecUs),PWM占空比=PWMData....
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数据监控
int WINAPI PWM2_Stop(int DevHandle, unsigned char ChannelIndex)
停止PWM输出
struct _PWM_CAP_DATA PWM_CAP_DATA
PWM监控数据结构定义
int WINAPI PWM_Init(int DevHandle, PWM_CONFIG *pConfig)
初始化PWM,使用PWM输出功能时该函数必须调用
int WINAPI PWM2_Start(int DevHandle, unsigned char ChannelIndex, unsigned int RunTimeUs)
启动已经初始化后的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_SetDutyCycle(int DevHandle, unsigned char ChannelIndex, unsigned short DutyCycle)
设置PWM占空比
int WINAPI PWM_CAP_GetData(int DevHandle, unsigned char Channel, PWM_CAP_DATA *pPWMData)
获取PWM监控到的最新数据值
int WINAPI PWM_Stop(int DevHandle, unsigned char ChannelMask)
停止PWM输出
int WINAPI PWM_SetPhase(int DevHandle, unsigned char ChannelMask, unsigned short *pPhase)
设置PWM相位参数值
struct _PWM_CONFIG PWM_CONFIG
PWM初始化结构体定义
int WINAPI PWM_Start(int DevHandle, unsigned char ChannelMask, unsigned int RunTimeUs)
使能PWM输出
int WINAPI PWM2_SetFrequency(int DevHandle, unsigned char ChannelIndex, unsigned int Frequency, unsigned short Precision)
设置PWM输出瓶率
PWM监控数据结构定义
Definition: usb2pwm.h:42
unsigned short HighValue
高电平时间,单位为初始化时传入的时间精度值
Definition: usb2pwm.h:44
unsigned short LowValue
低电平时间,单位为初始化时传入的时间精度值
Definition: usb2pwm.h:43
PWM初始化结构体定义
Definition: usb2pwm.h:30
unsigned char ChannelMask
通道号,若要使能某个通道,则对应位为1,最低位对应通道0
Definition: usb2pwm.h:36
unsigned char Polarity[8]
波形极性,取值0或者1
Definition: usb2pwm.h:35
unsigned short Prescaler[8]
预分频器
Definition: usb2pwm.h:31
unsigned short Pulse[8]
占空比,实际占空比=(Pulse/Precision)*100%
Definition: usb2pwm.h:33
unsigned short Precision[8]
占空比调节精度,实际频率 = PWM主频/(Prescaler*Precision)
Definition: usb2pwm.h:32
unsigned short Phase[8]
波形相位,取值0到Precision-1
Definition: usb2pwm.h:34