81 lines
2.7 KiB
C
81 lines
2.7 KiB
C
|
|
|
|
|
|
#ifndef __CH57x_PWM_H__
|
|
#define __CH57x_PWM_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "CH579SFR.h"
|
|
#include "core_cm0.h"
|
|
|
|
/**
|
|
* @brief channel of PWM define
|
|
*/
|
|
|
|
#define CH_PWM4 0x01 // PWM4 通道
|
|
#define CH_PWM5 0x02 // PWM5 通道
|
|
#define CH_PWM6 0x04 // PWM6 通道
|
|
#define CH_PWM7 0x08 // PWM7 通道
|
|
#define CH_PWM8 0x10 // PWM8 通道
|
|
#define CH_PWM9 0x20 // PWM9 通道
|
|
#define CH_PWM10 0x40 // PWM10 通道
|
|
#define CH_PWM11 0x80 // PWM11 通道
|
|
|
|
|
|
|
|
/**
|
|
* @brief channel of PWM define
|
|
*/
|
|
typedef enum
|
|
{
|
|
High_Level = 0, // 默认低电平,高电平有效
|
|
Low_Level, // 默认高电平,低电平有效
|
|
}PWMX_PolarTypeDef;
|
|
|
|
|
|
/**
|
|
* @brief Configuration PWM4_11 Cycle size
|
|
*/
|
|
typedef enum
|
|
{
|
|
PWMX_Cycle_256 = 0, // 256 个PWMX周期
|
|
PWMX_Cycle_255, // 255 个PWMX周期
|
|
PWMX_Cycle_128, // 128 个PWMX周期
|
|
PWMX_Cycle_127, // 127 个PWMX周期
|
|
PWMX_Cycle_64, // 64 个PWMX周期
|
|
PWMX_Cycle_63, // 63 个PWMX周期
|
|
PWMX_Cycle_32, // 32 个PWMX周期
|
|
PWMX_Cycle_31, // 31 个PWMX周期
|
|
}PWMX_CycleTypeDef;
|
|
|
|
|
|
#define PWMX_CLKCfg( d ) (R8_PWM_CLOCK_DIV=d) /* PWM4-PWM11 通道基准时钟配置,= d*Tsys */
|
|
void PWMX_CycleCfg( PWMX_CycleTypeDef cyc ); /* PWM4-PWM11 通道输出波形周期配置 */
|
|
|
|
#define PWM4_ActDataWidth( d ) (R8_PWM4_DATA = d) /* PWM4 有效数据脉宽 */
|
|
#define PWM5_ActDataWidth( d ) (R8_PWM5_DATA = d) /* PWM5 有效数据脉宽 */
|
|
#define PWM6_ActDataWidth( d ) (R8_PWM6_DATA = d) /* PWM6 有效数据脉宽 */
|
|
#define PWM7_ActDataWidth( d ) (R8_PWM7_DATA = d) /* PWM7 有效数据脉宽 */
|
|
#define PWM8_ActDataWidth( d ) (R8_PWM8_DATA = d) /* PWM8 有效数据脉宽 */
|
|
#define PWM9_ActDataWidth( d ) (R8_PWM9_DATA = d) /* PWM9 有效数据脉宽 */
|
|
#define PWM10_ActDataWidth( d ) (R8_PWM10_DATA = d) /* PWM10 有效数据脉宽 */
|
|
#define PWM11_ActDataWidth( d ) (R8_PWM11_DATA = d) /* PWM11 有效数据脉宽 */
|
|
|
|
// 占空比 = 数据有效脉宽/波形周期
|
|
void PWMX_ACTOUT( UINT8 ch, UINT8 da, PWMX_PolarTypeDef pr, UINT8 s); /* PWM4-PWM11通道输出波形配置 */
|
|
void PWMX_AlterOutCfg( UINT8 ch, UINT8 s); /* PWM 交替输出模式配置 */
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // __CH57x_PWM_H__
|
|
|