pwm.h
来自「VoyagerGX display driver for Windows CE 」· C头文件 代码 · 共 101 行
H
101 行
//-----------------------------------------------------------------------------
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
// Copyright (c) 2003 Silicon Motion, Inc.
//
// Module Name: pwm.cpp
//
// Abstract: Pulse Width Modulation API
//
//-----------------------------------------------------------------------------
#ifndef _PWM_H_
#define _PWM_H_
///////////////////////////////////////////////////////////////////////////////
// PWM Interrupt Event Names.
#define PWM0_INT_EVENT_NAME TEXT("VGX-PWM0-INT-70D34510-CEEE-42a2-BA7E-66045FEA170C")
#define PWM1_INT_EVENT_NAME TEXT("VGX-PWM1-INT-70D34510-CEEE-42a2-BA7E-66045FEA170C")
#define PWM2_INT_EVENT_NAME TEXT("VGX-PWM2-INT-70D34510-CEEE-42a2-BA7E-66045FEA170C")
///////////////////////////////////////////////////////////////////////////////
// PWM return results.
typedef enum _VGXPWM_RESULTS
{
VGXPWM_SUCCESS = 1,
VGXPWM_INVALID_PARAMETER = -1,
VGXPWM_EVENT_FAILED = -2,
VGXPWM_INT_NOT_SUPPORTED = -3
}
VGXPWM_RESULTS, *PVGXPWM_RESULTS;
///////////////////////////////////////////////////////////////////////////////
// PWM index constants to access PWM0, PWM1 and PWM2.
typedef enum _VGXPWM_INDEX
{
VGXPWM0,
VGXPWM1,
VGXPWM2,
VGXPWMCOUNT
}
VGXPWM_INDEX, *PVGXPWM_INDEX;
///////////////////////////////////////////////////////////////////////////////
// PWM Management internal structure.
typedef struct
{
BOOL bPWMEnabled; // Enabled flag
DWORD PWMAddress; // I/O Port
HANDLE hIntEvent; // Interrupt Event handle
LPTSTR lpszIntEventName; // Event name
WORD wLowCounter; // Low counter
WORD wHighCounter; // High counter
BYTE byClockDivider; // Clock divider
BOOL bIntEnable; // Interrupt enable
}
PWM_STRUCT;
///////////////////////////////////////////////////////////////////////////////
// Command constants for use with VGXPWM_STRUCT.
typedef enum _VGXPWM_COMMANDS
{
VGXPWMCMD_INIT,
VGXPWMCMD_START,
VGXPWMCMD_STOP
}
VGXPWM_COMMANDS, *PVGXPWM_COMMANDS;
///////////////////////////////////////////////////////////////////////////////
// Structure used in ExtEscape calls to access PWM API.
typedef struct _VGXPWM_STRUCT
{
VGXPWM_COMMANDS Command; // One of VGXPWM_COMMANDS
VGXPWM_INDEX PWMIndex; // VGXPWM0, VGXPWM1 or VGXPWM2
// VGXPWMCMD_INIT parameters
WORD wLowCounter; // Low counter
WORD wHighCounter; // High counter
BYTE byClockDivider; // Clock divider
BOOL bIntEnable; // Interrupt flag
}
VGXPWM_STRUCT, *PVGXPWM_STRUCT;
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?