/* * Copyright (c) 2022 Jinan Bosai Network Technology Co., LTD Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "SOCKET.h" #include "iot_errno.h" #include "iot_gpio.h" #include "iot_gpio_ex.h" #define RELAY_GPIO 14 #define LED_RED_GPIO 7 #define LED_GREEN_GPIO 8 #define LED_BLUE_GPIO 13 /*************************************************************** * 函数名称: BoardInit * 说 明: 初始化 * 参 数: 无 * 返 回 值: 无 ***************************************************************/ void BoardInit(void) { IoTGpioInit(RELAY_GPIO); IoTGpioSetFunc(RELAY_GPIO, IOT_GPIO_FUNC_GPIO_14_GPIO); IoTGpioSetDir(RELAY_GPIO, IOT_GPIO_DIR_OUT); //设置为输出模式 IoTGpioInit(LED_RED_GPIO); IoTGpioSetFunc(LED_RED_GPIO, IOT_GPIO_FUNC_GPIO_7_GPIO); IoTGpioSetDir(LED_RED_GPIO, IOT_GPIO_DIR_OUT); //设置为输出模式 IoTGpioInit(LED_GREEN_GPIO); IoTGpioSetFunc(LED_GREEN_GPIO, IOT_GPIO_FUNC_GPIO_8_GPIO); IoTGpioSetDir(LED_GREEN_GPIO, IOT_GPIO_DIR_OUT); //设置为输出模式 IoTGpioInit(LED_BLUE_GPIO); IoTGpioSetFunc(LED_BLUE_GPIO, IOT_GPIO_FUNC_GPIO_13_GPIO); IoTGpioSetDir(LED_BLUE_GPIO, IOT_GPIO_DIR_OUT); //设置为输出模式 } /*************************************************************** * 函数名称: RelayStatusSet * 说 明: 开关继电器 * 参 数: status,ENUM枚举的数据 * OFF,光灯 * ON,开灯 * 返 回 值: 无 ***************************************************************/ void RelayStatusSet(SwitchStatus status) { if (status == ON) { IoTGpioSetOutputVal(RELAY_GPIO, 1); //设置输出高电平点亮LED灯 } if (status == OFF) { IoTGpioSetOutputVal(RELAY_GPIO, 0); //设置输出低电平点亮LED灯 } } /*************************************************************** * 函数名称: LedRedStatusSet * 说 明: 开关灯 * 参 数: status,ENUM枚举的数据 * OFF,光灯 * ON,开灯 * 返 回 值: 无 ***************************************************************/ void LedRedStatusSet(SwitchStatus status) { if (status == ON) { IoTGpioSetOutputVal(LED_RED_GPIO, 0); //设置输出高电平点亮LED灯 } if (status == OFF) { IoTGpioSetOutputVal(LED_RED_GPIO, 1); //设置输出低电平点亮LED灯 } } /*************************************************************** * 函数名称: LedGreenStatusSet * 说 明: 开关灯 * 参 数: status,ENUM枚举的数据 * OFF,光灯 * ON,开灯 * 返 回 值: 无 ***************************************************************/ void LedGreenStatusSet(SwitchStatus status) { if (status == ON) { IoTGpioSetOutputVal(LED_GREEN_GPIO, 0); //设置输出高电平点亮LED灯 } if (status == OFF) { IoTGpioSetOutputVal(LED_GREEN_GPIO, 1); //设置输出低电平点亮LED灯 } } /*************************************************************** * 函数名称: LedBlueStatusSet * 说 明: 开关灯 * 参 数: status,ENUM枚举的数据 * OFF,光灯 * ON,开灯 * 返 回 值: 无 ***************************************************************/ void LedBlueStatusSet(SwitchStatus status) { if (status == ON) { IoTGpioSetOutputVal(LED_BLUE_GPIO, 0); //设置输出高电平点亮LED灯 } if (status == OFF) { IoTGpioSetOutputVal(LED_BLUE_GPIO, 1); //设置输出低电平点亮LED灯 } }