jjzjj

HAL_GPIO_WritePin

全部标签

STM32的HAL和LL库区别和性能对比

LL库和HAL库简介LL:Low-Layer,底层库HAL:HardwareAbstractionLayer,硬件抽象层库LL库和hal库对比,很精简,这实际上是一个精简的库。LL库的配置选择如下:在STM32CUBEMX中,点击菜单的“ProjectManager”–>“AdvancedSettings”,在下面的界面中选择“AdvancedSettings”,然后在每个模块后面选择使用的库总结:1、如果使用的MCU是小容量的,那么STM32CubeLL将是最佳选择;2、如果结合可移植性和优化,使用STM32CubeHAL并使用特定的优化实现替换一些调用,可保持最大的可移植性。另外HAL和L

【HAL库】STM32CubeMX开发----delay延时实验----NOP空指令

STM32CubeMX下载和安装详细教程【HAL库】STM32CubeMX开发----STM32F103/F207/F407----目录前言HAL库有自带的ms级延时函数:HAL_Delay();缺点1:无法实现us级延时缺点2:此延时函数是由SysTick滴答定时器中断产生的,滴答定时器的中断优先级是所有中断中最低的,无法在其他中断中产生延时。一、STM32F407----delay延时实验本次实验以STM32F407VET6芯片为MCU,使用25MHz外部时钟源。系统时钟SYSCLK=168MHz,使用__NOP();空指令实现延时。User_delay.c#include"User_de

STM32 GPIO

一、GPIO的输入模式1、浮空输入_IN_FLOATING输入信号经过施密特触发器接入输入数据存储器。当无信号输入时,电压不确定。因为浮空输入既高阻输入,可以认为输入端口阻抗无穷大,这样可以检测到微弱的信号。(相当于电压表测电压,如果电压表内阻不够大而外部阻抗比较大,则电压表分压会比较小)。此时输入高电平即高电平,输入低电平即低电平。但是外界没有输入时输入电平却容易受到外界电磁以及各种玄学干扰的影响。如按键采用浮空输入,则在按键按下时输入电平为低,但是当松开按键时输入端口悬空,外界有微弱的干扰都会被端口检测到。此时端口可能高,也可能低。2、下拉输入_IPD浮空输入在外界没有输入时状态不确定,可

润和Hi3861学习笔记(一)——通过查询GPIO状态控制LED灯

前言本文学习参照润和软件HarmonyOSIoT设备开发一书,但由于版本迭代,书中很多代码无法编译,笔者在此进行补充更改,如有错误,请各位大佬多多指正。更多细节可购买此书进一步了解。注:本文源代码版本:OpenHarmonyv3.0.1LTS(2022-01-12)代码变动1.0版本的头文件"wifiiot_gpio.h"和”wifiiot_gpio_ex.h"现在已经合并为"iot_gpio.h"。函数名的变化大多都是在原名前加上IOT,例如:GpioSetDir()改为IOTGpioSetDir()。部分函数放在了其他文件中并且名字发生了变化,比如IoSetPull(id,val)现在放在

STM32如何配置HAL库

STM32如何配置HAL库前言  相比较早几年使用标准库开发来讲,最近几年HAL库的使用是越来越多,那么我们开发应当使用哪一种呢,本文着重介绍常用的几种开发方式及相互之间的区别,白猫也好、黑猫也好,抓到耗子就是好猫。STM32三种开发方式  通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的。一般大多数都会选用标准库和HAL库,而极少部分人会通过直接配置寄存器进行开发。网上关于标准库、HAL库的描述相信是数不胜数。可是一个对于很多刚入门的朋友还是没法很直观的去真正了解这些不同开发发方式彼此之间的区别,所以笔者想以一种非常直白的方式,

STM32-GPIO数码管动态显示

目录一、数码管原理1、LED数码管的结构2、LED数码管工作原理3、数码管动态显示1)动态显示的概念2)动态显示的接口二、代码的实现三、仿真结果展示 本篇文章将继续进一步了解GPIO外设输出模式一、数码管原理知道这一部分的朋友可以直接点击目录部分跳过这段跳过,这里介绍一下数码管的知识1、LED数码管的结构不管在嵌入式STM32中还是在单片机51中,我们经常采用LED数码管来显示我们系统的状态、运算结果等各种信息,LED数码管是机器和人对话的一种重要的输出设备。单个LED数码管的外形和内部结构如上图所示。LED数码管由8个发光二极管组成,通过不同的发光字段组合可以显示数字(0~9)、字符(A~F

虚拟摄像头之九: IMX8Q 的 camera.imx8.hal 框架详解

前言android系统的camerahal框架不同厂家设计思路、不尽相同;本篇梳理NXPandroid8的camerahal设计框架设计逻辑和代码走读与分析。笔者再次特别说明:在《虚拟摄像头之三:重构android8.1的v4l2_camera_HAL支持虚拟摄像头》文章中声称、虚拟摄像头HAL方案计划采用Android8中的v4l2_camera_HAL来重构实现;现在更改为NXP的CameraHAL框架来实现,因此采用此篇梳理学习笔记内容。1>.Camera类的设计基本设计逻辑是封装Camera对象、我们先看看该类的定义:@vendor/nxp-opensource/imx/libcame

Linux之GPIO应用

目录一、sysfs文件系统二、LED标准接口三、GPIO标准接口1.gpiochipX2.export①direction​②value③active_low④edge 3.unexport在Linux系统下,一切皆文件。应用层操控底层硬件可以通过文件I/O的方式来实现,应用层通过对设备文件的I/O操作来操控硬件设备,设备文件其实是与硬件设备相互对应的。设备文件通常在/dev/目录下,/dev目录下的文件称为设备节点。这也是驱动开发中常用的测试驱动程序方法。还有另外一种方式可以通过sysfs文件系统对硬件设备进行操控。 一、sysfs文件系统sysfs是一个基于内存的文件系统,同 proc文件

CubeMX生成的中断函数HAL_UART_IRQHandler(*huart1)如何使用。

串口发送/接收函数HAL_UART_Transmit();串口发送数据,使用超时管理机制 HAL_UART_Receive();串口接收数据,使用超时管理机制HAL_UART_Transmit_IT();串口中断模式发送 HAL_UART_Receive_IT();串口中断模式接收HAL_UART_Transmit_DMA();串口DMA模式发送HAL_UART_Transmit_DMA();串口DMA模式接收串口中断函数HAL_UART_IRQHandler(UART_HandleTypeDef*huart); //串口中断处理函数HAL_UART_TxCpltCallback(UART_H

蓝桥杯嵌入式基础模块——定时器输入捕获功能(新板)STM32G431(HAL库开发)

        在板子上有两个555定时器,可以做成信号发生器,利用定时器输入捕获功能可以检测出,信号发生器的所产生脉冲信号的频率和占空比。定时器的输入捕获有两个功能,直接捕获模式和间接捕获模式;直接捕获:只能捕获本身通道的脉冲信号;间接模式:可以捕获此定时器每个通道的脉信号。操作思路:捕获频率:初始化定时器基础,开启定时器,开启定时器输入捕获上升沿中断,定时器一直计数,直到,捕获到上升沿说明过了一个周期,读取计数值,读取完然后清零,等待读取下一个周期,乘以时钟频率,就是周期,然后计算PWM频率。捕获占空比:利用此定时器的另一个通道,作为间接捕获模式,读取下降沿,产生下降沿中断,读取此定时器的