草庐IT

OpenHarmony js到hal层通信机制

文章目录1.JS到NativeJS----NAPI通信1.1WIFI的nativejs目录结构1.2js与c++方法绑定1.3.d.ts文件声明2.Native——FWKIPC通信-----Remote()2.1Binder通信binderaidl生成文件Remote写法2.2服务端注册注册方式1注册方式22.3客户端类定义2.4客户端获取注册信息3.FWK——HALSocket通信Server端Client端client发消息到ServerServer端接收1.JS到NativeJS----NAPI通信1.1WIFI的nativejs目录结构├──js│└──napi //js和c++通信│

STM32F1定时器-PWM输出

定时器-PWM输出STM32PWM工作过程ARR寄存器决定PWM周期,CCR寄存器决定占空比通道1为例的PWM输出电路图CCR1:捕获比较(值)寄存器(x=1,2,3,4):设置比较值。CCMR1:OC1M[2:0]位:对于PWM方式下,用于设置PWM模式1【110】或者PWM模式2【111】CCER:CC1P位:输入/捕获1输出极性。0:高电平有效,1:低电平有效。CCER:CC1E位:输入/捕获1输出使能。0:关闭,1:打开。PWM模式1和模式2的区别捕获/比较模式寄存器1(TIMx_CCMR1)有效电平并不是指高电平或者低电平,设置高电平有效还是低电平有效要看CCER寄存器的CC1P位C

STM32系列(HAL库)——F103C8T6通过HC-SR04超声波模块实现测距

1.软件准备(1)编程平台:Keil5(2)CubeMX(3)XCOM(串口调试助手)2.硬件准备(1)某宝买的超声波模块 (2)F1的板子,本例使用经典F103C8T6(3)ST-link 下载器(4)USB-TTL模块(5)杜邦线若干3.模块资料(1)模块简介:        超声波是振动频率高于20kHz的机械波。它具有频率高、波长短、绕射现象小、方向性好、能够成为射线而定向传播等特点。HC-SRO4是一款尺寸完全兼容老版本,增加UART和IIC功能的开放式超声波测距模块,默认条件下,软件与硬件完全兼容老版本HC-SRO4;可以通过电阻设置成UART或IIC模式。2CM盲区,4.5M典型

stm32使用HAL库配置串口中断收发数据(保姆级教程)

前言最近在学习使用hal库,之前都是用标准库来写32代码,所以发个帖子记录一下学习过程,同时也希望能帮助到一些也在学习HAL库的同学。接下来进入正题一、串口中断是什么?串口中断是指当单片机收到一个串口数据时,单片机会产生一个中断信号,通知处理器中断服务程序去处理这个接收到的数据。在中断服务程序中,我们可以读取串口接收缓冲区中的数据,并根据具体的应用场景进行处理,例如存储、显示、计算等操作。串口中断一般通过使用串口的中断接收功能实现。当有新的数据到达串口时,单片机会产生一个中断请求,触发中断服务程序。中断服务程序在处理完接收到的数据后,可以根据具体的应用需求采取相应的处理措施。相比于轮询方式,采

基于STM32的TFT-LCD触摸屏实验(HAL库)

        前言:TFT-LCD作为显示终端必不可少的设备,目前大部分的TFT-LCD都具备了触摸功能。无论是在MCU亦或是SOC(MPU)中,触摸屏的使用都是十分常见的。触摸屏LCD通常分为2种:电阻触摸屏,电容触摸屏。两种不同的触摸屏LCD其编程与使用也存在一定的差别,本文将详细介绍电阻触摸屏与电容触摸屏的特点,并就电阻触摸屏进行代码编程讲解——HAL库。(文章结尾会有代码开源)        实验硬件:STM32F103ZET6;2.4寸TFT-LCD-电阻式触摸屏(240×320)        硬件实物图:        效果图:引脚连接:LCD显示引脚:VCC-->3.3VGN

STM32(HAL库)——光电编码器、M/T法测量电机转速

目录一编码器二电机测试的三种方法三STM32CubeMx配置四程序编写五实验结果一编码器常见的用于电机测速的编码器有霍尔编码器和光电编码器两种。两者测速的基本原理不同,但都是输出两路相位差90°的脉冲信号。这里以光电编码器为例介绍一下测速原理。光电编码器是由光源、光码盘和光敏元件组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。输出波形:方向:A、B相脉冲波形相差90°,A相位在前表示顺时针旋转,B相在前

【f1c200s/f1c100s】mangopi自制linux开发板驱动适配进度(PCB、代码开源)

【f1c200s/f1c100s】mangopi自制linux开发板驱动适配进度(PCB、代码开源)目前进度过程记录博客目前进度目前自制的mangopi设备驱动适配已完成部分包含:基于扫描的gpio-keys子系统适配LED子系统适配RGB接口LCD显示屏适配ft5406触摸屏适配博通RTL8188EUS无线网卡适配PWM驱动适配显示屏背光适配以下这几项在下载到荔枝派源码时已经适配好了:SPIFLASH驱动USB驱动串口驱动mangopi内核代码和uboot代码是基于licheepinano修改的。mangopi有哪些外设资源可以看:【f1c200s/f1c100s】全志f1c200s开发板设

STM32超声波避障小车(舵机云台+超声波/stm32f103/HAL/Cube)

系列文章目录一、小车1.0——基本蓝牙小车(仅蓝牙遥控小车运动方向,本篇)二、小车2.0——蓝牙小车PLUS(可以蓝牙控制方向+蓝牙直接调节车速)三、小车3.0——避障小车(超声波+舵机云台)四、小车4.0——无线手柄方向感知操控小车(mpu6050+双蓝牙透传)五、双轮自平衡小车(HAL库版)——点此学习吧文章目录系列文章目录前言一、前期准备二、CubeMX中的设置2.1.时钟树的配置2.2.TIM的设置2.2.1.TIM2设置2.2.2.TIM3设置2.2.3.TIM4设置2.3.INx分配的GPIO参数配置2.3.1.INx设置:2.3.2.Trig设置:三、代码总体项目代码结构3.1.

STM32 HAL库 中断处理中使用延时函数(HAL_Delay)

问题描述今天在学习STM32HAL库外部中断,使用的是按键触发外部中断,想在外部中断里面写一个按键消抖,也就是在HAL库外部中断处理函数中使用了HAL_Delay()函数,后来经过实验,在外部中断处理函数(voidEXTI1_IRQHandler(void))和中断回调函数(voidHAL_GPIO_EXTI_Callback(uint16_tGPIO_Pin))里面都不能使用HAL_Delay(),使用就会卡死在延时这一步;经过分析,也参考了别人的一些参考资料,发现网上的写的比较乱一点,自己总结了一下,以我理解的角度分析一下这些问题,(如有质疑之处,还请各位大佬批评指正);首先详细描述一下这

安卓HAL开发指南

安卓HAL开发指南1、介绍HIDL的全称是HALinterfacedefinitionlanguage(硬件抽象层接口定义语言),在此之前Android有AIDL,架构在Androidbinder之上,用来定义Android基于Binder通信的Client与Service之间的接口。HIDL也是类似的作用,只不过定义的是AndroidFramework与AndroidHAL实现之间的接口。2、实现方式2.1旧版传统HAL层Android7.x和更早的版本中,hal模块接口被定义为简单的C头文件。HAL的实现驻留在客户端的进程中(在很多情况下它是系统服务器),这导致了安全性和稳定性问题。版本控