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

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

相关文章

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.

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

Java使用WebView实现桌面程序的技术指南

《Java使用WebView实现桌面程序的技术指南》在现代软件开发中,许多应用需要在桌面程序中嵌入Web页面,例如,你可能需要在Java桌面应用中嵌入一部分Web前端,或者加载一个HTML5界面以增强... 目录1、简述2、WebView 特点3、搭建 WebView 示例3.1 添加 JavaFX 依赖3

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N