草庐IT

HAL_GPIO_WritePin

全部标签

蓝桥杯STM32 G431 hal库开发速成——按键+PWM综合案例——按键控制PWM驱动舵机

适用于学习了TIM输出比较(PWM)跟GPIO输入(按键)的新手作为练习的综合项目!一、PWM的概念PWM(PulseWidthModulation,脉冲宽度调制)是一种常用的技术,用于通过调节电信号的脉冲宽度(即脉冲的持续时间)来控制模拟系统的电源。在数字电子系统中,由于只能输出固定的高(通常为Vcc)或低(通常为GND)电平,PWM提供了一种有效的方法来模拟模拟信号。1.原理PWM信号是一种方波,其基本特征是频率和占空比。频率决定了脉冲重复的速度,而占空比是指在一个脉冲周期内,信号为高电平的时间占整个周期的比例。2.CRR在PWM生成中,CRR通常用于设置PWM的占空比。定时器的总周期由其

STM32对GPIO进行基础输出操作:点亮LED灯并闪烁,跑马流水灯(标准库GPIO输出模式)

STM32GPIO输出流程:操作STM32的GPIO需要三个步骤第一步:RCC开启时钟第二步:使用GPIO_Init函数初始化GPIO第三步:使用输出或输入的函数控制GPIO口1、RCC最常用的函数:voidRCC_AHBPeriphClockCmd(uint32_tRCC_AHBPeriph,FunctionalStateNewState);voidRCC_APB2PeriphClockCmd(uint32_tRCC_APB2Periph,FunctionalStateNewState);voidRCC_APB1PeriphClockCmd(uint32_tRCC_APB1Periph,Fu

pinctrl 和 gpio 子系统点灯下

目录一、添加设备节点和GPIO编号结构体 二、函数入口1、获取设备节点2、获取led所对应的gpio​编辑        of_get_named_gpio 函数 3、申请GPIO       gpio_request函数 4、使用IO,设置为输出                gpio_direction_output函数 5、输出低电平,点亮LED ​编辑         gpio_set_value函数函数入口代码如下 三、函数出口1、要添加关灯和释放GPIO         gpio_free函数 出口代码如下四、修改dts1、检查复用  2、gpio使用五、编译验证六、使用ledAP

手把手教你开发stm32——系统时钟(基于hal库)

目录:1.stm32时钟系统概述1.1.时钟系统的概念及意义1.2.常见振荡器简介1.3.stm32中时钟源的介绍2.stm32时钟配置3.SysTick定时器讲解3.1.SysTick定时器简介3.2.SysTick定时器工作原理3.3.systick每1s中触发一次中断代码实现3.4.systick相关寄存器分析4.HAL_Delay()函数的实现1.stm32时钟系统概述1.1.时钟系统的概念及意义概念:时钟系统是由振荡器(信号源)、定时唤醒器、倍频器、分频器等组成的电路。常用的信号源有晶体振荡器和RC振荡器。意义:时钟是嵌入式系统的脉搏,处理器啮合在时钟的驱动下完成指令执行,状态转换等

基于STM32_HAL库实现超声波测距

核心板        :STM32F103C8T6。超声波测距模块 :HC-SR04超声波测距模块实验目的      :利用超声波测距,将测量的距离打印在串口并输出。HC-SR04超声波测距模块介绍    接口定义:Vcc、Trig(控制端——PA2)、Echo(接收端——PA11)、Gnd     模块工作原理:采用IO触发测距,给至少10us的高电平信号;模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间,测试距离=(高电平时间*声速(340M/S))/2; 测距方法介绍:    距离=超声波来回的时间/

STM32 入门 —— 寄存器与 GPIO

STM32入门——寄存器与GPIOSTM32总线构图:寄存器什么是寄存器根据百度百科介绍,寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。简单来说,寄存器就是存放东西的东西,存放的东西是指令、数据或地址存放数据的寄存器最容易理解,不同的数据存在不同的寄存器下,不同的寄存器有不同的地址,要想获得数据,我们直接访问寄存器,就可以直接获得数据指令、地址寄存器与数据寄存器相似,存放的都是0/1编码,由于单片机只认识机器码,机器码都是0/1,只是在特别的规定下,数据寄存器中的0/1编码表示数据,而指令寄存器李存放的表示指令如何找到寄存器地址查找《STM

Android硬件通信之 GPIO通信

一,为什么要和硬件通信1.1,做软件开发的可能大多只是在手机上做服务器/客户端这种应用,说白了这些只是对数据的处理,对数据做存储和读取,以及分析的工作。1.2但随着智能领域的发展,人们已不满足手动去直接接触硬件,毕竟这个过程需要先走到机器跟前,伸出手按下某一个按钮来控制机器某一行为,更多的想要通过一个小小的手机去控制更多的东西,比如控制车,控制灯,控制任何一种机器,甚至远程相隔几千里外去操控机器。这个时候单纯的上层应用已不能实现需求,需要和硬件建立某种持久的联系,方便时刻去控制硬件。二,GPIO介绍2.1gpio是什么GPIO(GeneralPurposeI/OPorts)意思为通用输入/输出

通用输入输出端口GPIO,及其初始化(HAL库)

文章目录前言GPIOGPIO初始化GPIO_InitTypeDef使用HAL库进行GPIO初始化的示例代码:结束前言我在学习STM32时候呢,是直接先接触的STM32CubeMX软件,更着网上各种教程迷迷糊糊学了一大堆没用的东西,于是先一步步来吧,我总结了很长时间,希望对正在学习相关知识的朋友们有帮助。可以先去看看STM32CubeMX如何配置:传送门读完以上我写的文章基本上是蒙的,因为我写文章时候也有这样的感觉,感觉学到了什么又感觉什么也没学到,虽然最后灯亮了,但原理什么的都不知道,于是开始学习GPIO口如何去操作的,就像51一样开始入手P0^0控制高低电平一个道理。GPIOSTM32的GP

keysking 【stm32】hal库学习笔记--定时器(超详细!)

stm32hal库–定时器任务一:串口发送计数器的值一.CubeMX配置1.打开串口2及其中断,用于发送数据2.将高速外部时钟源设置为晶振,提高定时精度3.将HCLK改为72MHz4.开启定时器TIM4–勾选InternalClock(内部时钟)/TIM2–将ClockSource选择为InternalClock5.设置预分频器Prescaler–n(想要实现的分频)-1CounterPeriod(自动重装载寄存器)m-1[即每数到m次计数器清零)二.代码部分定时器启动函数HAL_TIM_Base_Start(接收tim4句柄的指针)1.启动定时器Base定时器基本用法调用此函数后TIM4开始

手把手教你开发stm32——定时器(上)(基于hal库)

目录:1.stm32定时器介绍1.1.stm32f103定时器介绍1.2.定时器计数模式1.3.定时器的时钟2.stm32时钟的工作方式3.定时器中断具体实现3.1.cubemx的具体配置3.2.具体代码的实现4.通用定时器功能分析5.高级定时器功能分析6.输入捕获实验6.1.理论知识6.2.cubemx配置6.3.具体代码实现1.stm32定时器介绍1.1.stm32f103定时器介绍定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。16位计数器、预分频器、自动重装载寄存器的时基单元。不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发