云息|技术科普 资产跟踪设备中指示灯的驱动设计

2023-11-08 19:20

本文主要是介绍云息|技术科普 资产跟踪设备中指示灯的驱动设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随着经济的发展,我国的物流运输已建成由铁路运输、公路运输、水路运输、航空运输和管道运输的综合物流体系,物流行业的发展也带动了货物生产产业链的升级。但物流运输行业还存在着缺乏智能化管理的弊端,因此引入物联网资产跟踪设备有助于物流运输企业在管理中找到新的方向。
无logo.jpg

资产跟踪设备是通过物联网技术对企业的资产进行实时追踪,包括该资产的具体位置、环境状态以及运动路径等。专业从事物联网资产跟踪设备研发的通信公司,还能够根据企业用户的业务模式,提供不同功能的设备,为资产提供定制化的保障服务。其中包括了人员定位、车辆跟踪、运输状态跟踪、环境监测等功能。
指示灯作为设备是否正常运转的重要标志,在开发过程中,相关工作人员总结了设备指示灯的驱动设计。
设备指示灯简介:
image.png

设备指示灯主要用于指示设备状态,通过指示灯的不同状态可以了解设备处于什么样的一个工作状态。
两种指示灯的实现方式:

硬件电路:
image.png

指示灯的硬件驱动比较简单,一般通过一个IO直接驱动指示灯或者通过三极管间接驱动指示灯,这里不多做介绍。
微信截图_20210819175327.png

软件实现:
(1)RTOS方式
typedef enum
{
Led_OFF = 0,
Led_Normal,
Led_Debug
}LedMode_t;

void LedTask(void*param)
{
LedMode_t ledmode = Led_Normal;
Q_Handle_LedMode = xQueueCreate(1,sizeof(LedMode_t));
while(1)
{
if(Q_Handle_LedMode != NULL)
xQueueReceive(Q_Handle_LedMode,&ledmode,0);

switch((uint16_t)ledmode)
{default:case Led_OFF:SysLED_OFF;osDelay(1000);break;case Led_Normal:SysLED_ON;osDelay(100);SysLED_OFF;osDelay(100);break;case Led_Debug:SysLED_ON;osDelay(500);SysLED_OFF;osDelay(500);break;
}

}
}
(2)裸机方式
裸机是通过定时器来实现。以下代码主要放在定时器中断内实现,不会影响其他任务有影响。
typedef enum SysLedMode
{
OFF=1,
Normal,
Debug,
}SysLedMode_t;
void LEDTsak(void)
{
static uint32_t time = 0;
time++;
switch (LedMode)
{
default:
case OFF:
LED_OFF;
time = 0;
break;
case Normal:
if(time < 100) LED_ON;
else LED_OFF;
if(time > 1000) time = 0;
break;
case Debug:
if(time < 100) LED_ON;
else LED_OFF;
if(time > 200) time = 0;
break;
}
}
微信截图_20210825162354.png

从事该设备开发的工作人员或企业使用的用户,在遇到类似问题时,可参考以上思路进行尝试。

这篇关于云息|技术科普 资产跟踪设备中指示灯的驱动设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/371953

相关文章

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.