目录一、信号量基本概念二、信号量运行机制三、信号量开发流程四、信号量接口五、代码分析(待续...)坚持就有收获一、信号量基本概念信号量(Semaphore)是一种实现任务间通信的机制,可以实现任务间同步或共享资源的互斥访问。一个信号量的数据结构中,通常有一个计数值,用于对有效资源数的计数,表示剩下的可被使用的共享资源数,其值的含义分两种情况:0,表示该信号量当前不可获取,因此可能存在正在等待该信号量的任务。正值,表示该信号量当前可被获取。以同步为目的的信号量和以互斥为目的的信号量在使用上有如下不同:用作互斥时,初始信号量计数值不为0,表示可用的共享资源个数。在需要使用共享资源前,先获取信号量,
目录一、UART概述二、UART模块相关API三、UART接口调用实例四、UARTHDF驱动开发4.1、开发步骤(待续...)坚持就有收获一、UART概述UART是通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter)的缩写,是通用串行数据总线,用于异步通信,该总线双向通信,可以实现全双工传输。UART应用比较广泛,常用于输出打印信息,也可以外接各种模块,如GPS、蓝牙等。异步通信异步通信中,数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这
目录一、PWM概述二、PWM模块相关API三、接口调用实例四、PWMHDF驱动开发4.1、开发步骤(待续...)坚持就有收获一、PWM概述PWM(PulseWidthModulation)又叫脉冲宽度调制,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化。占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%。计算公式如下:占空比=高电平时间周期时间∗100%占空比=\frac{高电平时间}{周期时间}*100\%占空比=周期时间高电平时间∗
目录一、事件基本概念二、事件运行机制三、事件开发流程四、事件使用说明五、事件接口坚持就有收获一、事件基本概念事件是一种实现任务间通信的机制,可用于实现任务间的同步,但事件通信只能是事件类型的通信,无数据传输。一个任务可以等待多个事件的发生:可以是任意一个事件发生时唤醒任务进行事件处理;也可以是几个事件都发生后才唤醒任务进行事件处理。事件集合用32位无符号整型变量来表示,每一位代表一个事件。事件的第25位为保留位,不可以进行位设置。事件(Event)是一种任务间的通信机制,可用于任务间的同步操作。事件的特点是:任务间的事件同步,可以一对多,也可以多对多。一对多表示一个任务可以等待多个事件,多对多
目录一、软件定时器基本概念二、软件定时器运行机制三、软件定时器状态四、软件定时器模式五、软件定时器开发流程六、软件定时器使用说明七、软件定时器接口八、代码分析(待续...)坚持就有收获一、软件定时器基本概念软件定时器,是基于系统Tick时钟中断且由软件来模拟的定时器,当经过设定的Tick时钟计数值后会触发用户定义的回调函数。定时精度与系统Tick时钟的周期有关。硬件定时器受硬件的限制,数量上不足以满足用户的实际需求,因此为了满足用户需求,提供更多的定时器,OpenHarmonyLiteOS-M内核提供软件定时器功能。软件定时器扩展了定时器的数量,允许创建更多的定时业务。软件定时器功能上支持:静
目录一、CPU占用率1.1、CPU占用率基本概念1.2、CPU占用率运行机制1.3、CPU占用率开发流程二、动态加载2.1、动态加载基本概念2.2、动态加载运行机制坚持就有收获一、CPU占用率1.1、CPU占用率基本概念CPU(中央处理器,CentralProcessingUnit)占用率分为系统CPU占用率和任务CPU占用率。系统CPU占用率(CPUPercent)是指周期时间内系统的CPU占用率,用于表示系统一段时间内的闲忙程度,也表示CPU的负载情况。系统CPU占用率的有效表示范围为0~100,其精度(可通过配置调整)为百分比。100表示系统满负荷运转。任务CPU占用率指单个任务的CPU
Substrate区块链开发之本地网络启动Substrate是一个软件开发工具包(SDK),它使用基于Rust的库和工具,使您能够从模块化和可扩展的组件构建特定于应用程序的区块链。使用Substrate构建的特定于应用程序的区块链可以作为独立服务运行,也可以与其他链并行运行,以利用Polkadot生态系统提供的共享安全性。Substrate包含区块链基础设施核心组件的默认实现,让您能够专注于应用程序逻辑。安装https://docs.substrate.io/install/macos/本地网络启动实操https://docs.substrate.io/tutorials/build-a-bl
学习FFmpeg的时候,经常要到GitHub下载各种开源代码,比如FFmpeg的源码页面位于https://github.com/FFmpeg/FFmpeg。然而国内访问GitHub很不稳定,经常打不开该网站,比如在命令行执行下面的ping命令。pinggithub.com上面的ping结果如下所示,可见默认解析的DNS地址连接超时。正在Pinggithub.com[20.205.243.166]具有32字节的数据:请求超时请求超时请求超时现在GitHub的DNS请求超时,使得其上的开源代码无法下载,严重影响了FFmpeg的学习运用。更多详细的FFmpeg开发知识参见《FFmpeg开发实战:
我正在使用play框架开发浏览器游戏,我确实需要longpolling,但我不太了解如何使用它。WebSockets将是完美的选择,但目前还没有那么多浏览器支持它。这是我想要做的:当用户登录并导航到玩游戏Controller时,我想启动连接并保持连接打开。我想为所有在线用户执行此操作,这样我就可以在网站上显示他们的列表,这样他们就可以互相玩了。我看过thedocumentation,但我不明白如何在我的案例中实现它。因为根本没有任何我想要计算的东西(在他们生成pdf的示例中)我只希望连接保持打开状态。我还想知道,我应该如何跟踪所有这些打开的连接?现在,我在数据库的用户表中只有一个onl
负一屏提供日常功能的快捷入口,为高频应用提供统一平台能力,展示用户最关心的信息,丰富HarmonyOS应用的使用场景。当应用进入后台,并处于运行中状态时,开发者可以在负一屏创建Ongoing卡片,用于查看应用运行时的状态。场景介绍Ongoing卡片展示后台正在运行的业务,应用以通知的方式向负一屏发送通知消息,在负一屏展示卡片信息。任务结束后,应用需要确保通知到负一屏移除之前的卡片。卡片主要组成部分:图标、内容。应用可以通过ComponentProvider自定义一个卡片布局,以通知的方式发送到负一屏,负一屏将解析后的ComponentProvider页面展示到负一屏。还可以将图标及内容同样以通