wifiiot_pwm.h接口简介
- 初始化PWM
unsigned int PwmInit(WifiIotPwmPort port);
- 取消初始化PWM
unsigned int PwmDeinit(WifiIotPwmPort port);
- 根据输入参数输出PWM
unsigned int PwmStart(WifiIotPwmPort port, unsigned short duty, unsigned short freq);
- 停止PWM输出
unsigned int PwmStop(WifiIotPwmPort port);
PWM驱动LED灯代码
#include #include #include "ohos_init.h"#include #include "cmsis_os2.h"#include "wifiiot_gpio.h"#include "wifiiot_gpio_ex.h"#include "wifiiot_pwm.h"static void pwm2_func(void){ GpioInit(); IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_IO_FUNC_GPIO_2_PWM2_OUT); GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_GPIO_DIR_OUT); int i; PwmInit(WIFI_IOT_PWM_PORT_PWM2); while(1) { for (i = 0; i < 40000; i += 200) { PwmStart(WIFI_IOT_PWM_PORT_PWM2, i, 40000); usleep(10); } }}static void my_led_example(void){ osThreadAttr_t attr; attr.attr_bits = 0; attr.name = "pwm2"; attr.cb_mem = NULL; attr.cb_size = 0; attr.priority = 24; attr.stack_size = 512; if(osThreadNew((osThreadFunc_t)pwm2_func,NULL,&attr) == NULL) { printf("Falied to create PWMTask!\n"); }}SYS_RUN(my_led_example);
运行效果
