草庐IT

HAL_GPIO_ReadPin

全部标签

STM32控制步进电机:基于HAL库定时器中断的闭环步进电机驱动+精准控制脉冲数

STM32控制步进电机:基于HAL库定时器中断的闭环步进电机驱动+精准控制脉冲数一、步进电机闭环驱动器二、CubeMx配置1、ClockConfiguration2、脉冲端定时器配置3、使能、方向端引脚配置三、STM32F407定时器中断控制步进电机程序0、引脚配置图1、使用到的HAL库函数2、脉冲触发定时器初始化配置3、步进电机脉冲设置4、步进电机使能、失能、改变方向5、步进电机正转main.c程序6、视频效果演示四、闭环步进电机精准控制脉冲数1、使用到的HAL库函数2、更改步进电机驱动脉冲频率3、更改步进电机脉冲设置程序4、定时器PWM中断回调函数5、步进电机正转一圈闭环main.c程序6

HarmonyOS系统内核中GPIO控制方法

    大家好,今天主要和大家聊一聊,如何使用鸿蒙系统控制开发板去点亮LED灯。 目录第一:鸿蒙外设GPIO简介第二:鸿蒙外设接口说明GPIO使用流程图: ​编辑 第三:鸿蒙系统中API分析第四:硬件设计第五:软件设计第六:编译调试第七:运行结果第一:鸿蒙外设GPIO简介    GPIO(General-purposeinput/output)即通用型输入输出。通常,GPIO控制器通过分组的方式管理所有GPIO管脚,每组GPIO有一个或多个寄存器与之关联,通过读写寄存器完成对GPIO管脚的操作。GPIO接口定义了操作GPIO管脚的标准方法集合,包括:设置管脚方向:方向可以是输入或者输出(暂不支

STM32——GPIO配置

文章目录一、GPIO八种模式1.输入2.输出3.如何选择GPIO的模式二、库函数GPIO配置1.配置代码2.参数设置一、GPIO八种模式GPIO的输入输出是对于STM32单片机来说的。以下仅为个人粗略笔记,内部电路分析可参考博客https://blog.csdn.net/k666499436/article/details/1238454661.输入上拉输入下拉输入浮空输入模拟输入2.输出复用推挽输出普通推挽输出复用开漏输出普通开漏输出3.如何选择GPIO的模式先判断对于单片机来说是输入还是输出若为输入:①看引脚是否为ADC输入,如果是则为模拟输入;②看引脚悬空时,电压不确定,可为高电平、低电

GPIO的八种输入输出模式

以下图片摘自最后链接的视频,仅用于个人的学习记录。输入:     1.浮空输入:浮空输入是指当一个电路或器件的输入端口未连接任何信号源时,其输入端口处于一种“悬空”状态,即没有明确的电平值。     2.上拉输入:“上拉输入”是指在数字电路中,将一个输入端口连接至高电平信号(通常为VCC)的电路拓扑。在这种情况下,当外部没有将该输入端口拉向地线时,其输入端口处于高电平状态。     3.下拉输入:“下拉输入”是指在数字电路中,将一个输入端口连接至低电平信号(通常为地线)的电路拓扑。在这种情况下,当外部没有将该输入端口拉向高电平时,其输入端口处于低电平状态。     4.模拟输入:模拟输入是指将

STM32 互补PWM 带死区 HAL

1、设置PWM波频率100KHz,占空比50%,死区时间1us 2、while循环之前启动PWMHAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);//启动TIM1_CH1PWM输出HAL_TIMEx_PWMN_Start(&htim1,TIM_CHANNEL_1);//启动TIM1_CH1NPWM输出3、死区计算DT_time=DT_data/FDT_time:死区时间DT_data:写入到单片机里的值F:定时器主频例如:Timer1主频64MHz,死区时间1us1us=DT_data/64MDT_data=64将64写入sBreakDeadTimeConfig.

4针0.96寸OLED的HAL库代码(硬件I2C/全代码/stm32f1/CubeMX配置/包含有正负浮点数/100%一次点亮)

系列文章目录(STM32常用外设/HAL库版)一、HC-SR04超声波模块的使用二、4针OLED的HAL库代码介绍及使用(本篇)三、7针OLED的HAL库代码介绍及使用四、编码电机以及双电机驱动更多有意思的文章点击“我的主页”--------😐更多有意思的视频----->B站@想要亿只独角兽--------😐文章目录系列文章目录(STM32常用外设/HAL库版)前言效果展示全屏滚动并正反相显示不同大小的字符串、整数、汉字、图片正反相显示不同大小的正负浮点数一、OLED驱动的基本功能二、CubeMX中的设置2.1.配置时钟树2.2.配置I2C三、HAL库代码3.1.main.c3.2.oled.

STM32:HAL_RCC_OscConfig中程序卡死问题解决办法

首先,参考该博主的文章(感谢博主的刨根问底),了解卡死的原理:https://blog.csdn.net/qq153471503/article/details/114700884在了解原理后,发现在IAP跳转后,APP卡死是因为不能再次对PLL进行初始化操作,所以导致了卡死现象。经过思考,HAL库所有模块的Init,都会有对应的DeInit,所以在IAP跳转之前,对RCC进行DeInit操作,该问题解决,欢迎批评指正!代码如下:voidJumpToApplication(void){ /*Testifusercodeisprogrammedstartingfromaddress"APPLIC

【STM32+HAL库+CubeMX】UART轮询收发、中断收发、DMA收发方法及空闲中断详解

Author:DrinkCat(szt@drinkcat.com)Copyright©2023DrinkCatOriginallink:DrinkCat’sBlog1.什么是UART?UART是一种异步串行通信接口,常用于通过串口与外部设备进行通信。它通过发送和接收数据帧来实现数据传输,使用起来相对简单。UART通常包含发送器(Transmitter)和接收器(Receiver),通过两根信号线(传输线)进行双向通信。2.UART协议内容简介UART协议将一长串数据切成很多固定长度的小段,分别发送。每小段数据前后会加上一些附加数据以保证通信的实时性和准确性,最后形成的每个小段叫做一个数据包——

【stm32】01,今晚,整个32将为你闪烁(GPIO输出,点亮led灯)

往期内容:【stm32】00亲爱的勇者,在踏上这个波澜壮阔的大陆之前,厉兵秣马,我们即刻出发各位勇者你们好啊,我是weib。祝贺你们已经厉兵秣马做好在这个世界中闯出一番天地的准备了,也欢迎来到第一个关卡——GPIO的输出操作,闲言少叙让我们进入正题吧。0、准备请各位勇者再次确认自己的装备是否齐全——keil5-mdk及其芯片包、cubemx及其jdk环境以及一颗强大的心脏。加油吧各位勇者,我相信你们都是天选之人,定能在嵌入式这个世界闯出一片天地!最后请闭上眼睛,轻轻的抚摸你的键盘,她是你最忠实的伙伴,她将陪伴着你攻克道道难题。1、二极管及其单向导电性我们今天面对的boss叫做led(light

【STM32】STM32F4 GPIO口映射与复用

前言STM32F4有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。这部分知识在《STM32F4中文参考手册》第七章和芯片数据手册有详细的讲解哪些GPIO管脚是可以复用为哪些内置外设。STM32F4系列微控制器IO引脚通过一个复用器连接到内置外设或模块。该复用器一次只允许一个外设的复用功能(AF)连接到对应的IO口。这样可以确保共用同一个IO引脚的外设之间不会发生冲突。每个IO引脚都有一个复用器,该复用器采用16路复用功能输入(AF0到AF15),可通过GPIOx_AFRL(针