登录社区云,与社区用户共同成长
邀请您加入社区
I2C(Inter Integrated Circuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。由于其硬件连接简单、成本低廉,因此被广泛应用于各种短距离通信的场景。I2C通常用于与各类支持I2C协议的传感器、执行器或输入输出设备进行通信。当驱动开发者需要将I2C设备适配到OpenHarmony时,需要进行I2C驱动适配,下文将介绍如何进行I2C驱动适配。
烧录常见问题..........
本文是对分布式任务调度之系统服务管理中的一些基础框架、数据和操作总体概述,包含底层内存管理、底层队列操作、底层线程管理、时间操作、令牌桶操作、vector操作、系统功能存储结构等。这也是Samgr部分中的最后一个子主题。它们作为底层操作为上层服务和功能间的交互提供相应的支持。分析思路采用1篇总体概述+n篇代码标注的方式进行技术分享。在本文中提到的数据结构或函数的详细分析可以在文末的附录中找到,其中
看门狗(Watchdog),又称看门狗计时器(Watchdog timer),是一种硬件计时设备。
OpenHarmony为开发者提供了两种Docker环境,以帮助开发者快速完成复杂的开发环境准备工作。
OpenHarmony致力于打造一套更加开放完善的IoT生态系统.....
本文介绍如何通过调用OpenHarmony的NDK接口....
SDIO由SD卡发展而来........
CLOCK提供芯片级别的时钟管理:时钟功能可用于控制芯片内部的时钟分频、时钟倍频、时钟源选择和时钟门控等操作。通过合理的时钟管理,可以提高芯片的能效,并确保各个功能部件的正确协调和协同工作。
SDIO(Secure Digital Input and Output)由SD卡发展而来,与SD卡统称为MMC(MultiMediaCard),二者使用相同的通信协议。SDIO接口兼容以前的SD卡,并且可以连接支持SDIO接口的其他设备。SDIO的应用比较广泛,目前,有许多手机都支持SDIO功能,并且很多SDIO外设也被开发出来,使得手机外接外设更加容易。常见的SDIO外设有WLAN、GPS、C
CSI(Camera Serial Interface)是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPI CSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。物理层支持HS(High Speed)和LP(Low Speed)两种工作模式。HS模式下采用低压差分信号,功耗较大,但数据传输速率可以很高(数据速率为80M~1Gbps
本文详细介绍了鸿蒙5.0系统中LCD、触摸屏(TP)和WLAN驱动的移植方法。
应用孵化器,负责接受应用程序框架的命令孵化应用进程.....
PWM(Pulse Width Modulation)即脉冲宽度调制,是一种对模拟信号电平进行数字编码并将其转换为脉冲的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。通常情况下,在使用马达控制、背光亮度调节时会用到PWM模块。PWM用于脉冲宽度调制,当驱动开发者需要将PWM设备适配到OpenHarmony时,需要进行PWM驱动适配。下文将介绍如何进行PWM驱动适配。
LCD驱动模型属于驱动基础适配模块,第三方需要适配OpenHarmony系统时,需要进行LCD驱动适配。LCD驱动适配基于HDF驱动框架、Platform接口及OSAL接口开发,可以做到不区分OS(LiteOS、Linux)和芯片平台(Hi35xx、Hi38xx、V3S等),为LCD器件提供统一的驱动模型。
LCD驱动编程,通过对显示器上电、初始化显示器驱动IC内部寄存器等操作,使其可以正常工作。
本文介绍如何将一个FA模型开发的声明式范式应用切换到Stage模型
PIN即管脚控制器,用于统一管理各SoC的管脚资源,对外提供管脚复用功能
ADC可将模拟信号转换成对应的数字信号,便于存储与计算等操作。
ADC(Analog to Digital Converter),即模拟-数字转换器,可将模拟信号转换成对应的数字信号,便于存储与计算等操作。图 1ADC物理连线示意图ADC接口定义了完成AD转换的通用方法集合,包括:ADC设备管理:打开或关闭ADC设备。ADC读取转换结果:读取AD转换结果。ADC设备通常用于将模拟电压或电流转换为数字量,例如与NTC电阻搭配进行温度测量,或者将其他模拟传感器的输
软件定时器,是基于系统Tick时钟中断且由软件来模拟的定时器........
为了快速开发马达驱动,基于HDF驱动框架开发了马达(Vibrator)驱动模型。
在DevMgrService的构建过程中涉及了众多的对象类型,这些对象类型间的关系有大量借鉴了一些面向对象编程的类、接口、类继承、单例类等的编程思想,本来使用C语言实现面向对象编程的思维就已经使得C编程错综复杂,经常跨层,不太符合Linux内核分层分模块的习惯,增加了代码阅读的难度。而融入的“C/S设计模式”和“观察者设计模式”,无疑又使得阅读HDF的代码难度增加。鸿蒙应用开发与鸿蒙系统开发哪个更
在 Openharmony 源码根目录下新建 topeet 文件夹及其文件夹下的文件。├── led_driver.c:内核 LED HDF 驱动程序。└── Makefile:内核 LED HDF 驱动编译脚本。├── BUILD.gn:应用 APP 的 GN 文件。└── led_test.c:应用层 LED 测试程序。driver:内核 HDF 驱动程序目录。接下来依次解释一下每个文件的作用
UART模块应用比较广泛,主要用于实现设备之间的低速串行通信,例如输出打印信息,当然也可以外接各种模块,如GPS、蓝牙等。
DSI(Display Serial Interface)是由移动行业处理器接口联盟(Mobile Industry Processor Interface (MIPI) Alliance)制定的规范,旨在降低移动设备中显示控制器的成本。它以串行的方式发送像素数据或指令给外设(通常是LCD或者类似的显示设备),或从外设中读取状态信息或像素信息;它定义了主机、图像数据源和目标设备之间的串行总线和通信
本文详细介绍了鸿蒙5.0系统中USB驱动开发的核心知识点和实战项目,涵盖了USB主机端和设备端的开发流程。
Light驱动模型为上层Light硬件服务层提供稳定的灯控制能力接口.........
模块提供了面向服务体系结构(SOA)的开发框架基础。可以基于。
互斥锁又称互斥型信号量,是一种特殊的二值性信号量,用于实现对共享资源的独占式处理。
此样例是基于润和Neptune开发板开发的蓝牙键盘开发样例,搭配USB转串口模块,实现有线键盘转成蓝牙键盘的功能。
应用中的UIAbility在启动过程中,需要指定启动页面,否则应用启动后会因为没有默认加载页面而导致白屏。
OpenHarmony默认提供了电量等级,根据当前的电量来定义系统统一的电量等级,如满电量、高电量、低电量、极低电量等。系统可以根据当前的电量等级对用户进行提示或处理相关业务。但是电量等级对应的电量值在不同的产品上规格是不同的,产品希望根据产品的设计规格来定制此特性。为此OpenHarmony提供了电量等级的定制方式,产品定制开发者可根据设计规格来定制此特性。
HDMI(High Definition Multimedia Interface),即高清多媒体接口,是Hitachi、Panasonic、Philips、Silicon Image、Sony、Thomson、Toshiba共同发布的一款音视频传输协议,主要用于DVD、机顶盒等音视频Source设备到TV、显示器等Sink设备的传输。HDMI传输过程遵循TMDS(Transition Minim
上一篇文章讲解了高效、便携的工厂模式,并分析了如何使用工厂方式创建及销毁客户端代理的相关代码。在本文中进一步分析客户端代理的系列函数。相关代码实现位于distributedschedule_samgr_lite\samgr_endpoint\source\default_client.c。
本文介绍了OpenHarmony平台驱动移植的方法,重点以GPIO驱动为例详细说明了移植步骤。主要内容包括:1) 驱动分类概述,分为平台驱动和器件驱动;2) 创建GPIO驱动代码模板,包含Bind、Init、Release方法实现;3) 构建系统配置,包括厂商驱动入口、SOC驱动构建入口和GPIO构建入口;4) 产品配置文件中添加驱动加载信息。文章强调了HDF驱动框架的跨OS特性,并提供了完整的移
本文继续对任务管理器的实现进行分析。任务执行入口函数,当前函数是线程创建时的运行函数
foundation\distributedschedule\dmsfwk_lite\source\dmslite_msg_handler.c文件中包括两个函数:StartAbilityFromRemoteHandler()用于接收会话消息数据解析得到的启动FA的命令id,用于启动FA;ReplyMsgHandler()用于回复消息。该文件中主要包含一些对解析后的命令id的操作,目前只支持两种操作
本文详细介绍了鸿蒙5.0开发的核心知识点和实战项目,包括鸿蒙HarmonyOSNext应用开发的学习路线和技术指南。
MIPI CSI仅是一个软件层面的概念,主要工作是CSI资源管理。开发者可以通过使用提供的CSI操作接口,实现对CSI资源管理。当驱动开发者需要将MIPI CSI设备适配到OpenHarmony时,需要进行MIPI CSI驱动适配,下文将介绍如何进行MIPI CSI驱动适配。
本文详细介绍了鸿蒙5.0开发的核心知识点和实战项目,包括LiteOS-A内核的移植与适配。
● 允许在自定义组件内定义一个或多个自定义构建函数,该函数被认为是该组件的私有、特殊类型的成员函数。● 自定义构建函数可以在所属组件的build方法和其他自定义构建函数中调用,但不允许在组件外调用。● 在自定义函数体中,this指代当前所属组件,组件的状态变量可以在自定义构建函数内访问。建议通过this访问自定义组件的状态变量而不是参数传递。● 全局的自定义构建函数可以被整个应用获取,不允许使用t
根据代码我们可以看出需要配置“MBEDTLS_NO_PLATFORM_ENTROPY”、“MBEDTLS_ENTROPY_HARDWARE_ALT”两个宏,才能编译硬件随机数的相关代码。路径:“third_party/mbedtls/library/entropy.c”
在解决冷启动时间不达标问题的过程中,大概总结了如下这些优化方案。
信号量(Semaphore)是一种实现任务间通信的机制,可以实现任务间同步或共享资源的互斥访问。
Rust是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。