CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

APP PWM驱动

宏定义

APP_PWM_PIN_ENABLE

表 322 APP_PWM_PIN_ENABLE宏定义
描述

开启PWM引脚功能

1

详细信息请参考文件:SDK_Folder\drivers\inc\app_pwm.h

APP_PWM_PIN_DISABLE

表 323 APP_PWM_PIN_DISABLE宏定义
描述

关闭PWM引脚功能

0

详细信息请参考文件:SDK_Folder\drivers\inc\app_pwm.h

结构体

app_pwm_pin_t

结构体定义如下:

表 324 app_pwm_pin_t结构体成员
成员 描述 取值

app_io_type_t type

设置IO类型

app_io_evt_t中描述

app_io_mux_t mux

设置IO映射功能

参考app_io_init_t结构体,具体映射模式参考芯片Datasheet中的Pin Mux

uint32_t pin

设置IO引脚

参考app_io_init_t结构体,具体根据芯片Datasheet中PWM资源进行选择

app_io_pull_t pull

设置IO上拉/下拉/浮空

app_io_init_t结构体中描述

uin8_t enable

开启或关闭PIN

该参数的取值可以是下列值中的任意一个:

  • APP_PWM_PIN_ENABLE(开启PIN)
  • APP_PWM_PIN_DISABLE(关闭PIN)

详细信息请参考文件:SDK_Folder\drivers\inc\app_pwm.h

app_pwm_pin_cfg_t

结构体定义如下:

表 325 app_pwm_pin_cfg_t结构体成员
成员 描述 取值

app_pwm_pin_t channel_a

配置通道A的IO引脚

参考结构体app_pwm_pin_t

app_pwm_pin_t channel_b

配置通道B的IO引脚

参考结构体app_pwm_pin_t

app_pwm_pin_t channel_c

配置通道C的IO引脚

参考结构体app_pwm_pin_t

详细信息请参考文件:SDK_Folder\drivers\inc\app_pwm.h

app_pwm_channel_init_t

结构体定义如下:

表 326 app_pwm_channel_init_t结构体成员
成员 描述 取值

uint8_t duty

配置PWM输出占空比,占空比从0% ~ 100%可配

0 ~ 100之间的任意整数

uint8_t drive_polarity

配置PWM输出极性

该参数的取值可以是下列值中的任意一个:

  • PWM_DRIVEPOLARITY_NEGATIVE(输出低电平为激活态)
  • PWM_DRIVEPOLARITY_POSITIVE(输出高电平为激活态)

uint32_t fstoplvl

Flicker模式下的停止时电平配置,GR551x无该参数

该参数的取值可以是下列值中的任意一个:

  • PWM_STOP_LVL_LOW(PWM停止后IO保持低电平)
  • PWM_STOP_LVL_HIGH(PWM停止后IO保持高电平)

详细信息请参考文件:SDK_Folder\drivers\inc\app_pwm.h

app_pwm_params_t

结构体定义如下:

表 327 app_pwm_params_t结构体成员
成员 描述 取值

app_pwm_id_t id

指定PWM模块ID

该参数的取值可以是下列值中的任意一个:

  • APP_PWM_ID_0(PWM模块0)
  • APP_PWM_ID_1(PWM模块1)

app_pwm_pin_cfg_t pin_cfg

配置PWM各通道IO属性

参考结构体app_pwm_pin_cfg_t

app_pwm_active_channel_t active_channel

配置PWM激活的通道

该参数的取值可以是下列值中的任意一个:

  • APP_PWM_ACTIVE_CHANNEL_A(PWM通道A激活)
  • APP_PWM_ACTIVE_CHANNEL_B(PWM通道B激活)
  • APP_PWM_ACTIVE_CHANNEL_C(PWM通道C激活)
  • APP_PWM_ACTIVE_CHANNEL_ALL(PWM所有通道激活)
  • APP_PWM_ACTIVE_CHANNEL_CLEARED(PWM所有通道不激活)

pwm_init_t init

配置PWM初始化参数

参考结构体pwm_init_t

pwm_env_t pwm_env 仅用于记录初始化设备的句柄、相关参数等,不需要配置

详细信息请参考文件:SDK_Folder\drivers\inc\app_pwm.h

pwm_init_t

结构体定义如下:

表 328 pwm_init_t结构体成员(适用于GR551x、GR5526和GR5x25)
成员 描述 取值

uint32_t mode

PWM模式

该参数的取值可以是下列值中的任意一个:

  • PWM_MODE_FLICKER(固定占空比模式)
  • PWM_MODE_BREATH(呼吸模式)

uint32_t align

PWM脉冲对齐方式

该参数的取值可以是下列值中的任意一个:

  • PWM_ALIGNED_EDGE(三个通道的波形以PWM周期起始边沿对齐)
  • PWM_ALIGNED_CENTER(三个通道的波形以PWM周期中心点对齐)

uint32_t freq

PWM频率

0 ~ SystemFreq/2(SystemFreq为系统时钟频率)

uint32_t bperiod

PWM在呼吸模式下的呼吸周期,单位ms

0 ~ 0xFFFFFFFF/SystemFreq*1000(SystemFreq为系统时钟频率)

注意

PWM占空比从0%变化到100%所需的周期数应至少大于2。

uint32_t hperiod

PWM在呼吸模式下的保持时间,单位ms

0 ~ 0xFFFFFF/SystemFreq*1000(SystemFreq为系统时钟频率)

uint32_t bstoplvl

PWM在呼吸模式下,停止时电平配置(GR551x无该参数)

该参数的取值可以是下列值中的任意一个:

  • PWM_STOP_LVL_LOW(PWM停止时为低电平)
  • PWM_STOP_LVL_HIGH(PWM停止时为高电平)

pwm_channel_init_t channel_a

通道A的配置参数

参考pwm_channel_init_t结构体

pwm_channel_init_t channel_b

通道B的配置参数

参考pwm_channel_init_t结构体

pwm_channel_init_t channel_c

通道C的配置参数

参考pwm_channel_init_t结构体

pwm_init_t结构体成员(适用于GR551x、GR5526和GR5x25)的详细信息请参考文件:SDK_Folder\drivers\inc\hal\gr55xx_hal_pwm.h

表 329 GR533x/GR5405 pwm_init_t结构体成员
成员 描述 取值

uint32_t mode

模式

该参数的取值可以是下列值中的任意一个:

  • PWM_MODE_FLICKER(固定占空比模式)
  • PWM_MODE_BREATH(呼吸模式)
  • PWM_CODING_MODE (编码模式)

uint32_t prd_cycles

周期循环个数 循环输出脉冲数,为0时持续输出
pwm_none_coding_init_t none_coding_mode_cfg 非编码下配置 参考代码中的pwm_none_coding_init_t

pwm_coding_init_t coding_mode_cfg

编码配置 参考代码中的pwm_coding_init_t
pwm_init_t结构体成员的详细信息,请参考文件:
  • GR533x :SDK_Folder\drivers\inc\hal\gr533x_hal_pwm.h
  • GR5405:SDK_Folder\hal_drv\include\hal_pwm.h

pwm_channel_init_t

结构体定义如下:

表 330 pwm_channel_init_t结构体成员
成员 描述 取值

uint8_t duty

PWM占空比

0 ~ 100

uint8_t drive_polarity

PWM输出模式下的驱动极性

该参数的取值可以是下列值中的任意一个:

  • PWM_DRIVEPOLARITY_NEGATIVE(负极性)
  • PWM_DRIVEPOLARITY_POSITIVE(正极性)

uint32_t fstoplvl

PWM在Flicker模式下,停止时的电平配置(GR551x无该参数)

该参数的取值可以是下列值中的任意一个:

  • PWM_STOP_LVL_LOW(PWM停止时为低电平)
  • PWM_STOP_LVL_HIGH(PWM停止时为高电平)
详细信息请参考文件:
  • GR551x/GR5526/GR5x25:SDK_Folder\drivers\inc\hal\gr55xx_hal_pwm.h
  • GR533x:SDK_Folder\drivers\inc\hal\gr533x_hal_pwm.h
  • GR5405:SDK_Folder\hal_drv\include\hal_pwm.h

枚举

app_pwm_id_t

枚举定义如下:

表 331 app_pwm_id_t枚举成员
成员 描述

APP_PWM_ID_0 = 0

PWM模块0

APP_PWM_ID_1 = 1

PWM模块1

APP_PWM_ID_MAX

PWM模块总数为2,用作参数检测

详细信息请参考文件:SDK_Folder\drivers\inc\app_pwm.h

app_pwm_active_channel_t

枚举定义如下:

表 332 app_pwm_active_channel_t枚举成员
成员 描述

APP_PWM_ACTIVE_CHANNEL_A = 0x01

PWM激活通道A

APP_PWM_ACTIVE_CHANNEL_B = 0x02

PWM激活通道B

APP_PWM_ACTIVE_CHANNEL_C = 0x04

PWM激活通道C

APP_PWM_ACTIVE_CHANNEL_ALL = 0x07

PWM激活所有通道

APP_PWM_ACTIVE_CHANNEL_CLEARED = 0x00

PWM不激活所有通道

详细信息请参考文件:SDK_Folder\drivers\inc\app_pwm.h

app_pwm_state_t

枚举定义如下:

表 333 app_pwm_state_t枚举成员
成员 描述

APP_PWM_INVALID = 0

PWM不可用

APP_PWM_ACTIVITY = 1

PWM运行中

APP_PWM_SLEEP= 2

PWM睡眠

详细信息请参考文件:SDK_Folder\drivers\inc\app_pwm.h

app_pwm_module_state_t

枚举定义如下:

表 334 app_pwm_module_state_t枚举成员
成员 描述

APP_PWM_STOP = 0

PWM停止运行

APP_PWM_START = 1

PWM开始运行

详细信息请参考文件:SDK_Folder\drivers\inc\app_pwm.h

接口函数

表 335 PWM驱动接口函数
API 芯片
GR551x GR5526 GR5x25 GR533x GR5405

app_pwm_init

Y

Y

Y

Y

Y

app_pwm_deinit

Y

Y

Y

Y

Y

app_pwm_start

Y

Y

Y

Y

Y

app_pwm_stop

Y

Y

Y

Y

Y

app_pwm_update_freq

Y

Y

Y

Y

Y

app_pwm_resume N N N Y Y
app_pwm_pause N N N Y Y

app_pwm_config_channel

Y

Y

Y

Y

Y

app_pwm_inactive_channel

N

Y

Y

Y

Y

app_pwm_get_handle

Y

Y

Y

Y

Y

app_pwm_set_coding_data_in_one_channel N N N Y Y
app_pwm_set_coding_data_in_three_channels N N N Y Y
app_pwm_start_coding_in_one_channel N N N Y Y
app_pwm_start_coding_in_three_channels N N N Y Y

app_pwm_init

表 336 app_pwm_init接口
函数原型

uint16_t app_pwm_init(app_pwm_params *p_params)

功能说明

根据初始化参数初始化PWM模块

输入参数

p_params:初始化参数的结构体指针,把结构体里的初始化变量传入该函数

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_pwm_deinit

表 337 app_pwm_deinit接口
函数原型

uint16_t app_pwm_deinit(app_pwm_id_t id)

功能说明

反初始化PWM模块

输入参数

id:指定需要反初始化的PWM模块(0或1)

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_pwm_start

表 338 app_pwm_start接口
函数原型

uint16_t app_pwm_start(app_pwm_id_t id)

功能说明

PWM开始运行

输入参数

id:指定需要运行的PWM模块(0或1)

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_pwm_stop

表 339 app_pwm_stop接口
函数原型

uint16_t app_pwm_stop(app_pwm_id_t id)

功能说明

PWM停止运行

输入参数

id:指定需要停止的PWM模块(0或1)

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_pwm_update_freq

表 340 app_pwm_update_freq接口
函数原型

uint16_t app_pwm_update_freq(app_pwm_id_t id, uint32_t freq)

功能说明

更新PWM频率

输入参数
  • id:指定需要更新频率的PWM模块(0或1)
  • freq:新的PWM频率
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

在PWM运行和停止时均可更新频率

app_pwm_resume

表 341 app_pwm_resume接口
函数原型 uint16_t app_pwm_resume(app_pwm_id_t id)
功能说明 恢复PWM信号输出
输入参数 id:指定需要配置的PWM模块(0或1)
返回值 APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义
备注

app_pwm_pause

表 342 app_pwm_pause接口
函数原型 uint16_t app_pwm_pause (app_pwm_id_t id)
功能说明 暂停PWM信号输出
输入参数 id:指定需要配置的PWM模块(0或1)

返回值 APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义
备注

app_pwm_config_channel

表 343 app_pwm_config_channel接口
函数原型

uint16_t app_pwm_config_channel(app_pwm_id_t id, app_pwm_active_channel_t channel, app_pwm_channel_init_t *p_config)

功能说明

配置PWM通道参数,包括占空比、极性和停止电平

输入参数
  • id:指定需要配置的PWM模块(0或1)
  • channel:需要配置的通道选择
  • p_config:需要配置的参数,包括占空比、极性和停止电平
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

在PWM运行和停止时均可调用该接口

app_pwm_inactive_channel

表 344 app_pwm_inactive_channel接口
函数原型

uint16_t app_pwm_inactive_channel(app_pwm_id_t id, app_pwm_active_channel_t channel)

功能说明

停止指定的通道输出

输入参数
  • id:指定需要配置的PWM模块(0或1)
  • channel:需要失能的通道选择
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

在PWM运行和停止时均可调用该接口

app_pwm_get_handle

表 345 app_pwm_get_handle接口
函数原型

pwm_handle_t *app_pwm_get_handle(app_pwm_id_t id)

功能说明

获取当前PWM句柄

输入参数

id:指定需要获取的PWM模块(0或1)

返回值

pwm_handle_t:PWM句柄结构体

备注

app_pwm_set_coding_data_in_one_channel

表 346 app_pwm_set_coding_data_in_one_channel接口
函数原型 uint16_t app_pwm_set_coding_data_in_one_channel(app_pwm_id_t id, uint32_t coding_data)
功能说明 配置单通道模式下PWM模块的编码数据
输入参数
  • id:指定需要获取的PWM模块(0或1)
  • conding_data:一个32位的编码数据,每一位代表PWM0_A或PWM1_A的状态

返回值 APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义
备注 仅单通道模式下可以使用该接口

app_pwm_set_coding_data_in_three_channels

表 347 app_pwm_set_coding_data_in_three_channels接口
函数原型 uint16_t app_pwm_set_coding_data_in_three_channels(app_pwm_id_t id, uint32_t coding_data0, uint32_t coding_data1, uint32_t coding_data2)
功能说明 配置三通道模式下PWM模块的编码数据
输入参数
  • id:指定需要获取的PWM模块(0或1)
  • conding_data0:一个32位的编码数据,每一位代表PWM0_A或PWM1_A的状态
  • conding_data1:一个32位的编码数据,每一位代表PWM0_B或PWM1_B的状态
  • conding_data2:一个32位的编码数据,每一位代表PWM0_C或PWM1_C的状态
返回值 APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义
备注 仅三通道模式下可以使用该接口

app_pwm_start_coding_in_one_channel

表 348 app_pwm_start_coding_in_one_channel接口
函数原型 uint16_t app_pwm_start_coding_in_one_channel(app_pwm_id_t id, uint32_t coding_data)
功能说明 在中断模式下开始生成一个通道的编码波形
输入参数
  • id:指定需要获取的PWM模块(0或1)
  • conding_data:一个32位的编码数据,每一位代表PWM0_A或PWM1_A的状态

返回值 APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义
备注 仅单通道模式下可以使用该接口

app_pwm_start_coding_in_three_channels

表 349 app_pwm_start_coding_in_three_channels接口
函数原型 uint16_t app_pwm_start_coding_in_three_channels(app_pwm_id_t id, uint32_t coding_data0, uint32_t coding_data1, uint32_t coding_data2)
功能说明 在中断模式下开始生成三个通道的编码波形
输入参数
  • id:指定需要获取的PWM模块(0或1)
  • conding_data0:一个32位的编码数据,每一位代表PWM0_A或PWM1_A的状态
  • conding_data1:一个32位的编码数据,每一位代表PWM0_B或PWM1_B的状态
  • conding_data2:一个32位的编码数据,每一位代表PWM0_C或PWM1_C的状态
返回值 APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义
备注 仅三通道模式下可以使用该接口

DMA接口函数

表 350 DMA接口函数
API 芯片
GR551x GR5526 GR5x25 GR533x GR5405
app_pwm_dma_init N N N Y Y
app_pwm_dma_deinit N N N Y Y
app_pwm_start_coding_with_dma N N N Y Y

app_pwm_dma_init

表 351 app_pwm_dma_init接口
函数原型 uint16_t app_pwm_dma_init(app_pwm_params_t *p_params)
功能说明 初始化PWM DMA方式传输
输入参数 p_params:初始化参数的结构体指针,将结构体中的初始化变量传入该函数
返回值 APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义
备注

app_pwm_dma_deinit

表 352 app_pwm_dma_deinit接口
函数原型 uint16_t app_pwm_dma_deinit(app_pwm_id_t id)
功能说明 反初始化PWM DMA方式传输
输入参数 id:指定需要获取的PWM模块(0或1)
返回值 APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义
备注

app_pwm_start_coding_with_dma

表 353 app_pwm_start_coding_with_dma接口
函数原型 uint16_t app_pwm_start_coding_with_dma(app_pwm_id_t id, uint32_t *p_data, uint16_t size)
功能说明 在DMA模式下开始生成单个/三个通道的编码波形
输入参数
  • id:指定需要获取的PWM模块(0或1)
  • p_data:待搬运的编码数据。每搬运完连续的3个uin32_t数据后,会自动丢弃第4个uint32_t数据
  • size:待搬运的编码数据的长度
返回值 APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义
备注
  • 初始化coding channel配置为单通道时,该接口生成PWMA的编码波形
  • 初始化coding channel配置为三通道时,该接口生成PWMA、PWMB、PWMC的编码波形

示例工程

PWM Flicker

示例工程实现PWM的固定占空比模式,并改变PWM的频率、占空比等参数,可以通过逻辑分析仪进行波形观察,工程路径:SDK_Folder\projects\peripheral\pwm\app_pwm

初始化参数

app_pwm_params_t pwm_params = {
    .id = APP_PWM0_MODULE,
    .pin_cfg = {
        .channel_a = {
            .type   = APP_PWM0_GPIO_TYPE,
            .mux    = APP_PWM0_GPIO_MUX,
            .pin    = APP_PWM0_CHANNEL_A,
            .pull   = APP_IO_NOPULL,
            .enable = APP_PWM_PIN_ENABLE,
        },
        .channel_b = {
            .type   = APP_PWM0_GPIO_TYPE,
            .mux    = APP_PWM0_GPIO_MUX,
            .pin    = APP_PWM0_CHANNEL_B,
            .pull   = APP_IO_NOPULL,
            .enable = APP_PWM_PIN_ENABLE,
        },
        .channel_c = {
            .type   = APP_PWM0_GPIO_TYPE,
            .mux    = APP_PWM0_GPIO_MUX,
            .pin    = APP_PWM0_CHANNEL_C,
            .pull   = APP_IO_NOPULL,
            .enable = APP_PWM_PIN_ENABLE,
        },
    },
    .active_channel = APP_PWM_ACTIVE_CHANNEL_ALL,
    .init = {
        .mode     = PWM_MODE_FLICKER,
        .align    = PWM_ALIGNED_EDGE,
        .freq     = 100,
        .bperiod  = 500,
        .hperiod  = 200,
#if (APP_DRIVER_CHIP_TYPE != APP_DRIVER_GR551X)
        .bstoplvl = PWM_STOP_LVL_LOW,
#endif
        .channel_a = {
            .duty = 30,
            .drive_polarity = PWM_DRIVEPOLARITY_POSITIVE,
#if (APP_DRIVER_CHIP_TYPE != APP_DRIVER_GR551X)
            .fstoplvl = PWM_STOP_LVL_LOW,
#endif
        },
        .channel_b = {
            .duty = 50,
            .drive_polarity = PWM_DRIVEPOLARITY_NEGATIVE,
#if (APP_DRIVER_CHIP_TYPE != APP_DRIVER_GR551X)
            .fstoplvl = PWM_STOP_LVL_HIGH,
#endif
        },
        .channel_c = {
            .duty = 80,
            .drive_polarity = PWM_DRIVEPOLARITY_POSITIVE,
#if (APP_DRIVER_CHIP_TYPE != APP_DRIVER_GR551X)
            .fstoplvl = PWM_STOP_LVL_LOW,
#endif
        },
    },
};
  • id:定义PWM ID

    选择APP_PWM0_MODULE,即PWM0

  • pin_cfg:配置通道A/B/C引脚
    • pin_cfg.channel_a:PWM通道A引脚配置
    • pin_cfg.channel_b:PWM通道B引脚配置
    • pin_cfg.channel_c:PWM通道C引脚配置
  • active_channel:选择激活的通道

    选择APP_PWM_ACTIVE_CHANNEL_ALL,激活所有通道

  • init:PWM参数配置
    • init.mode:采用PWM_MODE_FLICKER,即选择Flicker模式
    • init.align:PWM脉冲对齐方式PWM_ALIGNED_EDGE
    • init.freq:PWM频率10 MHz
    • init.bperiod:PWM在呼吸模式下的呼吸周期为500 ms(Flicker模式下,该参数无效)
    • init.hperiod:PWM在呼吸模式下的保持时间为200 ms(Flicker模式下,该参数无效)
    • init.bstoplvl:呼吸模式下停止电平:PWM_STOP_LVL_LOW表示停止电平为低电平,PWM_STOP_LVL_HIGH表示停止电平为高电平
    • init.channel_a.duty:PWM通道A占空比
    • init.channel_a.drive_polarity:PWM输出模式下的驱动极性,PWM_DRIVEPOLARITY_POSITIVE表示正极性,起始电平为低电平;PWM_DRIVEPOLARITY_NEGATIVE表示负极性,起始电平为高电平
    • init.channel_a.fstoplvl:Flicker模式下停止电平:PWM_STOP_LVL_LOW表示停止电平为低电平,PWM_STOP_LVL_HIGH表示停止电平为高电平

重要函数

  • 初始化PWM
    ret = app_pwm_init(&pwm_params)
  • 开始PWM输出
    app_pwm_start(APP_PWM0_MODULE)
  • 更新PWM频率
    app_pwm_update_freq(APP_PWM0_MODULE, 1000)
  • 修改通道参数
    app_pwm_config_channel(APP_PWM0_MODULE, APP_PWM_ACTIVE_CHANNEL_B, &channel_cfg)
  • 停止指定的通道输出
    app_pwm_inactive_channel(APP_PWM0_MODULE, APP_PWM_ACTIVE_CHANNEL_A)
  • 停止PWM输出
    app_pwm_stop(APP_PWM0_MODULE)

测试验证

用逻辑分析仪观察MSIO0、MSIO1和MSIO2的波形变化,以GR5526为例,下面是观察的波形。

  • MSIO0:开始输出波形占空比为30%,频率为100 Hz,然后停止输出,最后设置成频率为1000 Hz,占空比为60%的波形。
  • MSIO1:开始输出波形占空比为50%,频率为100 Hz,然后进行了一次极性反转,接着输出频率为1000 Hz,占空比为20%的波形,最后设置成频率为1000 Hz,占空比为60%的波形。
  • MSIO2:开始输出波形占空比为80%,频率为100 Hz,接着改变频率为1000 Hz,最后设置成频率为1000 Hz,占空比为60%的波形。
图 27 PWM Flicker示例工程输出波形图

扫描关注

打开微信,使用“扫一扫”即可关注。