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

 

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

OpenHarmony
Hi3861
SG90舵机
2021-08-02 16:46:38
浏览
收藏 1
回答 1
已解决
回答 1
按赞同
/
按时间
wx5f978b58097b1
4


#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
微信
回复3
2021-08-02 17:01:31
相关问题
Hi3861开发板mesh功能
6452浏览 • 4回复 待解决
鸿蒙开发板Hi3861烧录报错?
2655浏览 • 3回复 待解决
hi3861开发板nfc例程出现问题
1096浏览 • 1回复 待解决
请问鸿蒙开发板hi3861有中断引脚吗?
1000浏览 • 3回复 已解决
请问怎么获取HarmonyOS开发板
9671浏览 • 8回复 待解决
求指导Hi3861平台JS应用开发???
1531浏览 • 1回复 待解决
hi3861编译失败原因
926浏览 • 1回复 待解决
HarmonyOS支持其他开发板吗?
6685浏览 • 4回复 待解决
DOPI Hi3516EV200开发板无法刷鸿蒙系统
1847浏览 • 3回复 待解决