#include #include #include #include "ohos_init.h" #include "cmsis_os2.h" #include "iot_gpio.h" #include "iot_gpio_ex.h" #define OUT_GPIO2 2 #define OUT_GPIO7 7 #define OUT_GPIO8 8 #define OUT_GPIO9 9 #define OUT_GPIO10 10 #define OUT_GPIO11 11 #define OUT_GPIO12 12 #define OUT_GPIO13 13 int BH1750_InitMainLed(void) { IoTGpioInit(OUT_GPIO7); IoTGpioSetFunc(OUT_GPIO7, IOT_GPIO_FUNC_GPIO_7_GPIO); IoTGpioSetDir(OUT_GPIO7, IOT_GPIO_DIR_OUT); IoTGpioInit(OUT_GPIO8); IoTGpioSetFunc(OUT_GPIO8, IOT_GPIO_FUNC_GPIO_8_GPIO); IoTGpioSetDir(OUT_GPIO8, IOT_GPIO_DIR_OUT); IoTGpioInit(OUT_GPIO9); IoTGpioSetFunc(OUT_GPIO9, IOT_GPIO_FUNC_GPIO_9_GPIO); IoTGpioSetDir(OUT_GPIO9, IOT_GPIO_DIR_OUT); IoTGpioInit(OUT_GPIO10); IoTGpioSetFunc(OUT_GPIO10, IOT_GPIO_FUNC_GPIO_10_GPIO); IoTGpioSetDir(OUT_GPIO10, IOT_GPIO_DIR_OUT); IoTGpioInit(OUT_GPIO11); IoTGpioSetFunc(OUT_GPIO11, IOT_GPIO_FUNC_GPIO_11_GPIO); IoTGpioSetDir(OUT_GPIO11, IOT_GPIO_DIR_OUT); IoTGpioInit(OUT_GPIO12); IoTGpioSetFunc(OUT_GPIO12, IOT_GPIO_FUNC_GPIO_12_GPIO); IoTGpioSetDir(OUT_GPIO12, IOT_GPIO_DIR_OUT); IoTGpioInit(OUT_GPIO13); IoTGpioSetFunc(OUT_GPIO13, IOT_GPIO_FUNC_GPIO_13_GPIO); IoTGpioSetDir(OUT_GPIO13, IOT_GPIO_DIR_OUT); return 0; } void pmd(int i ) { switch (i) { case 0: IoTGpioSetOutputVal(OUT_GPIO12, 1); break; case 1: IoTGpioSetOutputVal(OUT_GPIO10, 1); break; case 2: IoTGpioSetOutputVal(OUT_GPIO9, 1); break; case 3: IoTGpioSetOutputVal(OUT_GPIO11, 1); break; case 4: IoTGpioSetOutputVal(OUT_GPIO13, 1); break; case 5: IoTGpioSetOutputVal(OUT_GPIO2, 1); break; case 6: IoTGpioSetOutputVal(OUT_GPIO7, 1); break; case 7: IoTGpioSetOutputVal(OUT_GPIO8, 1); break; default: IoTGpioSetOutputVal(OUT_GPIO2, 0); // 设置GPIO_7输出低电平关闭灯 IoTGpioSetOutputVal(OUT_GPIO7, 0); IoTGpioSetOutputVal(OUT_GPIO8, 0); IoTGpioSetOutputVal(OUT_GPIO9, 0); IoTGpioSetOutputVal(OUT_GPIO10, 0); IoTGpioSetOutputVal(OUT_GPIO11, 0); IoTGpioSetOutputVal(OUT_GPIO12, 0); // IoTGpioSetOutputVal(OUT_GPIO13, 0); break; } } static void IotMainEntry(void) { int i=0; BH1750_InitMainLed(); while(1) { for(i=0;i<9;i++) { pmd(i); // usleep(1000); osDelay(100); } } } static void TestTask(void) { osThreadAttr_t attr; attr.name = "IotMainEntry"; attr.attr_bits = 0U; attr.cb_mem = NULL; attr.cb_size = 0U; attr.stack_mem = NULL; attr.stack_size = 1024; attr.priority = osPriorityNormal; if (osThreadNew((osThreadFunc_t)IotMainEntry, NULL, &attr) == NULL) { printf("[TestTask] Falied to create rtosv2_producer_consumer_main!\n"); } } APP_FEATURE_INIT(TestTask);