OpenHarmony如何驱动Hi3861开发板上的SG90舵机

 

Hi3861 Wi-Fi IoT开发板,通过GPIO2口模拟PWM输出,驱动SG90舵机,通过设置setSG90MicroServoAngle(int angle)函数设置角度来旋转SG90舵机,发现无论怎么设置都无法驱动SG90转动。

编写代码如下,求大神指导,求大神指导,求大神指导。

OpenHarmony如何驱动Hi3861开发板上的SG90舵机-鸿蒙开发者社区

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OpenHarmony如何驱动Hi3861开发板上的SG90舵机-鸿蒙开发者社区

OpenHarmony如何驱动Hi3861开发板上的SG90舵机-鸿蒙开发者社区

OpenHarmony如何驱动Hi3861开发板上的SG90舵机-鸿蒙开发者社区

OpenHarmony
Hi3861
SG90舵机
2021-08-02 16:46:38
浏览
收藏 1
回答 3
已解决
回答 3
按赞同
/
按时间
无昵称可用
6


#include <hi_types_base.h>
#include "iot_gpio.h"
#include "iot_pwm.h"
#include "hi_gpio.h"
#include "hi_io.h"
#include "hi_pwm.h"
#include "hi_time.h"

hi_void set_angle(hi_u32 utime)
{
    IoTGpioInit(HI_GPIO_IDX_2);
    IoTGpioSetFunc(HI_GPIO_IDX_2,HI_IO_FUNC_GPIO_2_GPIO);
    IoTGpioSetDir(HI_GPIO_IDX_2, HI_GPIO_DIR_OUT);
    IoTGpioSetOutputVal(HI_GPIO_IDX_2,HI_GPIO_VALUE1);
    hi_udelay(utime);
    IoTGpioSetOutputVal(HI_GPIO_IDX_2,HI_GPIO_VALUE0);
    hi_udelay(20000-utime);
}

//左转
hi_void engine_turn_left(hi_void)
{
    for (int i = 0; i <10; i++) {
        set_angle(2500);
    }
}

//右转
hi_void engine_turn_right(hi_void)
{
    for (int i = 0; i <10; i++) {
        set_angle(500);
    }
}

//居中
hi_void regress_middle(hi_void)
{
    for (int i = 0; i <10; i++) {
        set_angle(1500);
    }
}

PWM信号根本驱动不了,换GPIO吧骚年

分享
微博
QQ
微信
回复6
2021-08-02 17:01:31
wx62f13e41cb8d8
1

楼主 ,你最后解决了嘛,求科普啊

分享
微博
QQ
微信
回复
2022-08-09 00:49:07
wx62f13e41cb8d8
1

大佬  ,可以分享下你用gpio搞成功的代码吗

分享
微博
QQ
微信
回复
2022-08-11 16:49:34
相关问题
Hi3861开发板mesh功能
12556浏览 • 4回复 待解决
鸿蒙开发板Hi3861烧录报错?
8935浏览 • 3回复 待解决
hi3861开发板nfc例程出现问题
6700浏览 • 2回复 待解决
请问鸿蒙开发板hi3861有中断引脚吗?
5765浏览 • 3回复 已解决
HI3861开发板支持网络远程更新固件么?
11647浏览 • 2回复 已解决
Openharmony HI3861支持文件操作吗?
1668浏览 • 1回复 已解决
求指导Hi3861平台JS应用开发???
4767浏览 • 2回复 待解决
hi3861编译失败原因
8841浏览 • 2回复 待解决