#include
#include "ohos_init.h"
#include "cmsis_os2.h"
#include "iot_gpio.h"
#include "hi_io.h"
static void GpioTask(void *arg)
{
(void) arg;
IoTGpioInit(HI_IO_NAME_GPIO_9);
IoTGpioInit(HI_IO_NAME_GPIO_5);
IoTGpioInit(HI_IO_NAME_GPIO_2);
IoTGpioSetDir(HI_IO_NAME_GPIO_9,IOT_GPIO_DIR_OUT);
IoTGpioSetDir(HI_IO_NAME_GPIO_10,IOT_GPIO_DIR_OUT);
IoTGpioSetDir(HI_IO_NAME_GPIO_2,IOT_GPIO_DIR_IN); //D2上拉电阻
hi_io_set_pull(HI_IO_NAME_GPIO_2,HI_IO_PULL_UP);
while (1)
{
/* code */
IotGpioValue value=IOT_GPIO_VALUE1;
IoTGpioGetInputVal(HI_IO_NAME_GPIO_2,&value);
printf("exec gpio2 value ...%d\n",value);
osDelay(200);
// IoTGpioSetOutputVal(9,1);
IoTGpioSetOutputVal(HI_IO_NAME_GPIO_9,IOT_GPIO_VALUE1);
IoTGpioSetOutputVal(HI_IO_NAME_GPIO_10,IOT_GPIO_VALUE1);
IoTGpioGetInputVal(HI_IO_NAME_GPIO_10,&value);
printf("exec gpio10 value ...%d\n",value);
printf("exec ON ...\n");
osDelay(200);
IoTGpioSetOutputVal(HI_IO_NAME_GPIO_9,IOT_GPIO_VALUE0);
printf("exec OFF\n");
osDelay(200);
IoTGpioSetOutputVal(HI_IO_NAME_GPIO_10,IOT_GPIO_VALUE0);
IoTGpioGetInputVal(HI_IO_NAME_GPIO_10,&value);
printf("exec gpio10 value ...%d\n",value);
osDelay(200);
}
}
static void GpioEntry(void)
{
osThreadAttr_t attr={0};
attr.name="GpioTask";
attr.stack_size=4096;
attr.priority=osPriorityNormal;
if(osThreadNew(GpioTask,NULL,&attr)==NULL)
{
printf("[GpioEntry] create GpioTask failed!\n");
}
}
SYS_RUN(GpioTask);
鸿蒙开发板Hi3861_下编译定义D2为输入,上拉电阻——基于code-2.0-CANARY金丝雀windows
关注
打赏