草庐IT

HAL_GPIO_ReadPin

全部标签

按键输入实验--GPIO做输入-学习笔记

按键输入实验1.首先,按键实验是GPIO口的另一应用,上一次的跑马灯实验是将GPIO口作为输出,此次按键实验是将GPIO口作为输入。2.GPIO作为输入时和输入的不同:(1)首先,上拉电阻是为了保证在没有信号输入的时候,IO口保持高电平,若按键为低电平有效,则没有信号的时候,IO应呈现高电平,所以,此处应设置为上拉输入。同理,下拉电阻是为了保证在没有信号输入的时候,IO口保持低电平,若按键为高电平有效,则没有信号的时候,IO应呈现低电平。然后再配置一下IO口引脚,初始化PA0即可。作为输入时,不需要配置速度。(2)GPIO口各项功能配置完毕之后就是编写按键函数。库函数操作为:GPIO_Read

GPIO(1) STM32

GPIO的简介其实GPIO就是类似于51单片机的IO口有采集和控制的作用翻转指的是高电平到低电平或者低电平到高电平1.不能接5v的电压接了就烧2.coms端口和ttl端口的识别在芯片手册内IO口(可以理解为GPIO)后面又FT就是TTL端口没有就是COMS端口接着以COMS为例在第一个范围内的电压GPIO就识别为0在第二个电压范围内GPIO就识别为1如果电压的范围是1.164~1.833则会获得一个随机值(避免这样的情况发生)GPIO的单端输出电流为25MA极限情况但是不能每个GPIO口都输出25MA因为超过了芯片的的最大电流值就会烧毁IO端口基本结构介绍上下分为输入和输出驱动分别处理输入和输

转帖:STM32 GPIO 配置之ODR, BSRR, BRR 详解

原贴地址https://www.cnblogs.com/prayer521/p/5850803.html用stm32的配置GPIO来控制LED显示状态,可用ODR,BSRR,BRR直接来控制引脚输出状态.ODR寄存器可读可写:既能控制管脚为高电平,也能控制管脚为低电平。管脚对于位写1gpio管脚为高电平,写0为低电平BSRR只写寄存器:[color=Red]既能控制管脚为高电平,也能控制管脚为低电平。对寄存器高16bit写1对应管脚为低电平,对寄存器低16bit写1对应管脚为高电平。写0,无动作BRR只写寄存器:只能改变管脚状态为低电平,对寄存器管脚对于位写1相应管脚会为低电平。写0无动作。刚

STM32机器人控制开发教程No.4 使用串口通信控制电机(基于HAL库)

在机器人控制中,单片机(Arduino/STM32)与上位机(RaspberryPi/NVIDIAJetsonnano)之间的通信经常采用串口通信的方式,那应该如何使用STM32的串口通信以及根据自己定义的协议来完成数据的接收与发送呢?在本篇文章中将给你演示如何通过自定协议来完成对电机的控制以及获取编码器的值,跟着我们的配置步骤,你会发现一切如此的简单!本篇文章依旧采用我们的机器人控制板进行开发,关于电机的相关配置以及驱动代码可以参考前面的文章,本文着重介绍串口通信部分!1确定串口的数据协议'e'反馈两个电机的编码器脉冲计数值,该计数值达到最大值或最小值时自动清零。'm'l_speedr_sp

STM32的HAL库SPI操作(master 模式)-根据时序图配置SPI

SPI相关基础知识SPI基本概念请自行百度,参考:百度百科SPI简介.我们讲重点和要注意的地方。master模式下要关注的地方接线一一对应也就是说主控的MISO,MOSI,SCLK,[CSn]分别和设备的MISO,MOSI,SCLK,[CSn]一一对应相连,不交叉,不交叉,不交叉…(重要的事情说三遍)。从设备的时序图这是无线模块CC2500的SPI接口时序,这里可以看到,从设备要求,1、时钟空闲时为低电平;2、数据在时钟下降沿跳变,上升沿稳定,第1个沿为数据采样点;3、高位先发送;4、数据长度8位;这是AD7192的SPI接口时序,这里可以看到从设备要求,1、时钟空闲时为高电平;2、数据在时钟

HAL库学习05---串口通信(三种方式轮询、中断、DMA)

一、原理介绍串行通信的通讯方式可以分为两类:1、同步通信,带时钟信号的传输,如SPI、IIC、USART2、异步传输,不带时钟信号的传输,如UART、USARTUART通用异步收发器:UART口指的是一种物理接口形式(硬件)UART是异步,全双工串口总线。它比同步串口复杂很多。有两根线,一根TXD用于发送,一根RXD用于接收。UART的串行数据传输不需要使用时钟信号来同步传输,而是依赖于发送设备和接收设备之间预定义的配置。(约定固定波特率)对于发送设备和接收设备来说,两者的串行通信配置应该设置为完全相同。起始位:表示数据传输的开始,电平逻辑为“0”。数据位:可能值有5、6、7、8、9,表示传输

【STM32】标准库与HAL库对照学习系列教程大全

【STM32】标准库与HAL库对照学习系列教程大全一、前言二、准备工作三、基础篇四、进阶篇五、特别篇六、外设篇一、前言前言:开始工作后,学习的时间变少了很多,但是今年的1024节,还是打算送个福利给大家,将之前的STM32教程汇总,方便大家学习与查找,学习嵌入式已经快3年了吧,感觉自己还是在入门阶段,STM32也快一年没碰了,现在经常用的大多都还是工作上的内容,所以文章有不对的地方还希望大家多多指正啦!!!二、准备工作学前准备:C语言基础STM32开发板程序烧录器(推荐ST-Link,可以直接在keil上烧录,教程网上一搜一大片)和烧录软件串口助手keil5和cubemx学习建议:一般的开发板

HAL库版STM32双轮自平衡车(一) ———代码思路和PID基础精讲

 系列文章目录HAL库版STM32双轮自平衡车(一)———代码思路和PID的简单介绍(本篇) HAL库版STM32双轮自平衡车(二)———CubeMX的配置、原理图接线、物料准备HAL库版STM32双轮自平衡车(三)———代码精讲HAL库版STM32双轮自平衡车(四)————原理图以及PCB绘制HAL库版STM32双轮自平衡车(五)————调参带编码器的直流减速电机测速HAL库版0.96'OLED的使用目录 系列文章目录 前言一、代码整体框架二、P,I,D这三个控制器的作用和缺点三、所用PID精讲四、编写代码前的整体思路五、小结完整工程以及学习资料(设置了收费望理解)https://m.tb.

stm32基于HAL库驱动外部SPI flash制作虚拟U盘

stm32基于HAL库驱动外部SPIflash制作虚拟U盘📌参考文章:https://xiaozhuanlan.com/topic/6058234791🎞实现效果演示:🔖上图中的读到的FLASH_ID所指的是针对不同容量,所对应的ID。//W25X/Q不同容量对应不同ID关系W25Q80ID0XEF13W25Q16ID0XEF14W25Q32ID0XEF15W25Q64ID0XEF16W25Q128ID0XEF17W25Q256ID0XEF18🔖在电脑端,支持对虚拟出来的存储器进行读写操作。✨如果设计成一块PCB,可以制作成一个微小容量的移动U盘。🌿基于STM32F103,HAL库生成的代码,

STM32 (三)GPIO的八种模式及其原理

一、GPIO简介GPIO就是通用I/O(输入/输出)端口,是STM32可控制的引脚。STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。二、GPIO工作模式.1.四种输入模式  GPIO_Mode_IN_FLOATING浮空输入模式  GPIO_Mode_IPU上拉输入模式  GPIO_Mode_IPD下拉输入模式  GPIO_Mode_AIN模拟输入模式2.四种输出模式  GPIO_Mode_Out_OD开漏输出模式  GPIO_Mode_Out_PP推挽输出模式  GPIO_Mode_AF_OD复用开漏输出模式  GPIO_Mode_A