跳转至

系统状态SDK

硬件接口

接口说明

设备共提供6个LED灯,其中LED1、LED2为电源指示灯,不可操控,LED3~LED6为可控指示灯,同时设备提供了一个蜂鸣器。

API说明

请您确保已经将SDK引入到项目中,SDK的相关引入可参考SDK安装章节。

SDK中封装了基础的端口操作,开发人员可以通过相关API快速的控制LED的点亮、熄灭。

使用LED、蜂鸣器相关操作函数,需要引用 sys_state.h头文件。

sys_state_init

功能

初始化

函数原型

/**
 * @brief 初始化
 *
 * @return
 *      - 1:  成功
 *      - -1: 初始化失败
 *      - -2: 授权校验失败
 *
 */
int sys_state_init(void);

返回值

  • 成功:1
  • 失败:
    • 初始化失败:-1
    • 授权校验失败:-2

light_set

功能

LED控制

函数原型

/**
 * @brief LED控制
 *
 * @note LED1~2为设备电源指示灯,无法控制,LED3~6可以进行控制,LED5默认启动后会间隔1秒闪烁,
 *       如果此LED有显示意义,应当设置程序随系统启动后执行对应的控制
 *
 * @param[in] ch     LED序号,3~6
 * @param[in] value  LED状态
 *             - 0: 熄灭
 *             - 1: 点亮
 *
 * @return
 *      - 1:  成功
 *      - -1: 失败
 *
 */
int light_set(int ch, int value);

参数

参数名 类型 说明
ch int LED灯序号3~6
value int 0:熄灭1:点亮

返回值

  • 成功:1
  • 失败:-1

beep

功能

蜂鸣器控制

函数原型

/**
 * @brief 蜂鸣器控制
 *
 *
 * @param[in] ms   持续发声时间
 *             - 0:   蜂鸣静音
 *             - >0:  蜂鸣持续毫秒时间
 *             - -1:  蜂鸣永久持续
 *
 * @return
 *      - 1:  成功
 *      - -1: 失败
 *
 */
int beep(int ms);

参数

参数名 类型 说明
ms int 持续发声时间
0:蜂鸣静音
>0:蜂鸣持续毫秒时间
-1:蜂鸣永久持续

返回值

  • 成功:1
  • 失败:-1

示列代码

以下以点亮熄灭LED灯、蜂鸣器短时发声为例,进行相关API操作的说明

#include "sys_state.h"
#include <stdio.h>
#include <unistd.h>

int main()
{
    // 初始化系统状态
    sys_state_init();

    printf("Testing LED...\n");
    // 点亮LED 3~6
    light_set(3, 1);
    light_set(4, 1);
    light_set(5, 1);
    light_set(6, 1);
    // 休眠2秒
    sleep(2);
    // 熄灭LED 3~6
    light_set(3, 0);
    light_set(4, 0);
    light_set(5, 0);
    light_set(6, 0);
    // 休眠2秒
    sleep(2);

    // 测试蜂鸣器
    printf("Testing Buzzer...\n");
    // 蜂鸣器响 500 毫秒
    beep(500);
    // 休眠 1 秒
    sleep(1);

    printf("Test completed.\n");

    return 0;
}