电子产业一站式赋能平台

PCB联盟网

搜索
查看: 870|回复: 0
收起左侧

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】GPIO控制

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2020-12-22 09:56:17 | 显示全部楼层 |阅读模式
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】GPIO控制,   
该开发板的LED控制跟其他单片机类似,配置io口模式,然后设置高低电平




调用wifiiot_gpio.c中以下函数,实现GPIO初始化为输出功能,且控制该IO输出高、低电平




unsigned int IoSetFunc(WifiIotioName id, unsigned char val)  //选择IO的功能(GPIO、I2C、SPI、PWM等等)
unsigned int GpioSetDir(WifiIotGpioIdx id, WifiIotGpioDir dir) //设置为输出或输入
unsigned int GpioSetOutputVal(WifiIotGpioIdx id, WifiIotGpioValue val) //设置输出值









IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, 0 WIFI_IOT_IO_FUNC_GPIO_9_GPIO);//IO9设置为GPIO
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);//IO9设置为输出模式
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9,WIFI_IOT_GPIO_VALUE1);//IO9输出高电平
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9,WIFI_IOT_GPIO_VALUE0);//输出低电平







具体使用的代码如下


tatic void *LedTask(const char *arg)
{


    while (1) {


       GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);
        usleep(300000);


       GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0);
        usleep(300000);


    }


    return NULL;
}
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表