BES 平台 SDK之LED的配置

news/2024/12/2 21:34:02/

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用!

BES 平台 SDK之代码架构讲解二_谢文浩的博客-CSDN博客

关于SDK 系统框架简介可参考上一篇文章。链接如上所示!

一:LED配置

1. 根据原理图确认led 控制引脚GPIO,找到SDK 关于led配置的.c 源文件。/config/best1306_ibrt/target.h 和 /config/best1306_ibrt/target.c),如下截图所示:

target.h 文件

 target.c 文件

此处只用了一个LED .

二:初始化LED 

LED 会在main 函数进行,参考源文件目录/platform/main/main.cpp。如下截图所示:

 

三:LED 调用 

参照如下源文件:

/app/main/app_status_ind.h

/config/_default_cfg_src_/app_status_ind.c

/app/pwl/app_pwl.h

/app/pwl/app_pwl.cpp

1.在app_pwl 源文件,对led 做了如下工作:

1. 创建一个定时器:

2.启动定时器,并且置位初始状态。

3. int app_pwl_stop(enum APP_PWL_ID_T id)

暂停指定ID 定时器,并熄灭led 

4.int app_pwl_close(void)

 暂停所有led 相关定时器,并熄灭led

5.int app_pwl_setup(enum APP_PWL_ID_T id, struct APP_PWL_CFG_T *cfg)

配置指定定时器id 相关参数。参考两个结构体:

struct APP_PWL_CFG_T {
    struct PWL_CYCLE_ONCE {
        uint8_t  level;  // 电平状态
        uint32_t time;  // 持续时间
    }part[10]; // 总共变化次数,和parttotal 保持一致
    uint8_t parttotal;  // 总共循环次数
    uint8_t startlevel;// 起始电平状态
    bool periodic;      // 循环周期
};

struct APP_PWL_T {
    enum APP_PWL_ID_T id;   // 定时器ID ,一个LED 对应一个ID
    struct APP_PWL_CFG_T config; //  配置参数
    uint8_t partidx;  // 变化次数,用于和partotal 做比较。也作为part 的下标
    osTimerId timer; // 定时器句柄
};

2.在app_status_ind 源文件,真正调用的地方

 1.截图如下所示:

 该函数会根据上层应用设置的状态来进行led 显示状态配置,实际调用的是app_pwl_setup()和app_pwl_start 函数。

相关配置参数可见:

解释如下:总共有六次变化,起始状态亮,运行一个周期结束。 亮200ms->灭200ms->亮200ms->灭200ms->亮200ms-灭200ms 


http://www.ppmy.cn/news/997099.html

相关文章

DID以及社交网络中的ZKP

1. 引言 本文关键术语为: Decentralized Identity (DID,去中心化身份) or self-sovereign identity (SSI,自治身份) :是一个基于开放标准的框架,使用自主、独立的标识符和可验证证书,实现可信的数据交换。…

谷歌Tsunami(海啸)扫描器搭建扩展使用教程

目录 介绍 下载地址 功能总结 原理 服务探测 漏洞检测 安装

VGN N75pro说明书

VGN N75pro说明书 1、封面和最后一页 2、第01、02、03 3、第04 4、第05

详解顺序表功能

前言 随着我们C语言的不断深入学习,我们要开始学习一点数据结构来增加我们的内功了,虽说现在很多高级语言的顺序表,链表等可以不用自己实现,但在C语言中是需要我们自己来实现的,这并不能说明C语言和其他语言比C语言很…

安卓手机变身Linux服务器

文章目录 前言一、准备工作1、安卓手机2、下载软件二、开始安装1、检查系统,确认版本并安装2、配置(安卓7.0 及以上的用户忽略此步)3、问题处理【没有异常的小伙伴忽略】总结前言 在实际开发中有很多地方都需要服务器资源,但是服务器资源不论在哪里都是比较紧缺的资源,今…

电力系统基础知识(东方电子)持续更新

文章目录 三相电、相电压、线电压断路器和继电器电压互感器、电流互感器GOOSE、SV 三相电、相电压、线电压 因为交流电可以通过变压器升降,很容易实现远距离输电,而直流电无法升降,远距离输电会造成巨大浪费。 三相电:三相交流电…

消息触达平台 - 基础理论

目录 消息触达平台 背景 业务流程 触达配置 服务处理 表现展示 效果统计 触达信息结构 对象 内容 渠道 场景 机制 消息触达平台 背景 在产品生命周期的不同阶段,用户触达体系可以用来对不同用户群体进行定制化运营。结合咱们的日常场景,公司的运营同学或…

概念、框架简介--ruoyi学习(一)

开始进行ruoyi框架的学习,比起其他的前后端不分离的,这个起码看的清晰一些吧。 这一节主要是看了ruoyi的官方文档后,记录了以下不懂的概念,并且整理了ruoyi框架中的相关内容。 一些概念 前端 store store是状态管理库&#x…