前言所用工具: 1、STM32F407ZGT6 2、STM32CubeMx软件 3、keil5内容简述:通篇文章将涉及以下内容,如有错误,欢迎指出: GPIO的8个工作模式1、GPIO功能概述 2、GPIO的HAL库驱动 3、GPIO使用示例 (1)CubeMx配置 (2)GPIO驱动程序一、GPIO功能概述  STM32F407ZG有8个16引脚的GPIO端口,从PA到PH,还有一个12引脚的P            
                
         
            
            
            
            1、STM32有5组GPIO引脚,分别是GPIOA,GPIOB,GPIOC,GPIOD,GPIOE,每组GPIO有16个引脚。 
 2、每个引脚都有4个位来配置其端口,可以配置出不同的输入\输出模式 
表1配置IO口输出方式 
 
配置模式 CNF1 CNF2 M1  M0 推挽式输出0   050MHz速度开漏输出0 1 &            
                
         
            
            
            
               概括一下:复用就是一个引脚有几个功能,1.做普通IO输入输出  2.其他外设的输入输出(比如I2C,TIM,SPI等等),这就是复用。  重映射就是将引脚功能重新定义到其他引脚,例如PA9是USART1-TX默认的管脚,但是现在PA9用做它用了,那可以将USART1-TX重新映射到PB6,当然这种映射不是随意的想映射到哪个脚就哪个脚,芯片内部已经固定了只能映射到固定的地方  MCU            
                
         
            
            
            
            目录目录一,STM系列命名规则二.引脚功能三.电路以及寄存器一,STM系列命名规则1.产品系列:        STM32代表意法半导体的Cortex-Mx系列内核(ARM)32位的MCU2.产品类型:F-通用型,S-简单型,L-低功耗,H-高性能,AL-汽车应用低功耗型,AF-汽车应用通用型。3.产品子系列:103:ARM Cortex-M3内核,增强型。            
                
         
            
            
            
            概述  GPIO,即通用I/O(输入/输出)端口,是STM32可控制的引脚。STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。STM32F407有9组IO。分别为GPIOA~GPIOH,除了GPIOH只有两个IO引脚外,每组IO有16根引脚,一共114个I/O引脚。
  每组通用I/O端口包括:
4个32位寄存器(GPIOx_MODER、GP            
                
         
            
            
            
            一、STM32的命名规则。例如:我们学习的 STM32C8T6/ STM32C6T6首先把STM32F103C8T6分成几个部分如下STM32F103C8 / 6T (代表 芯片厚度)6STM32为一个系列F代表产品类型103代表产品子系列C代表引脚8代表FLASH大小T代表封装信息6代表工作温度范围32位101为基本型C=48脚6=32K字节H=BGA6=工业级,-40~+85°C102为USB            
                
         
            
            
            
            1、STM32自带了基本扩展CAN外设,又称bxCAN,bxCAN的特点如下:支持CAN协议2.0A和2.0B主动模式波特率最高达1Mbps支持时间触发通信具有3个发送邮箱具有3级深度的2个接收FIFO可变的筛选器组(也称过滤器组,最多28个)2、STM32 CAN控制器简介-模式①初始化模式(INRQ=1,SLEEP=0)                  
                
         
            
            
            
            一、GPIO简介     GPIO是通用输入输出端口的简称,简单来说就是STM32可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32芯片的GPIO被分成很多组,每组有16个引脚,所有的GPIO引脚都有基本的输入输出功能。     最基本的输出功能是由STM32控制引脚输出高            
                
         
            
            
            
            单片机STM32的引脚有多种方式可以选择。如果你是用直接写寄存器来配置的话,那么,看上手册,给“配置寄存器”对应的位写0或者1就可以达到目的。如下图: 如果是用库函数来配置的话,就需要知道下面这个结构体中的变量代表的意义。库函数,选择好GPIO_Mode之后,就要使用GPIO_Init()函数来配置,你可以打开这个配置函数,实际上也是在对“配置寄存器”进行写操作。先解释一下这个结构体中的各个变量的            
                
         
            
            
            
            单片机串口是必须要学习的,而且很重要,在数据传输已经程序调试中都很重要。本博客先学习一下USART1 串口其实串口不是每一个IO都可作为串口的,他是有固定的IO口的。如USART1串口对应的IO是PA9、PA10,这个很重要,不要记错了。材料文档中如下图:这里我用的单片机型号为STM32F103VET代码如下:main.c#include "led.h"
#include "delay.h"
#i            
                
         
            
            
            
            GPIO简介 GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚,STM32 芯片 的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。 STM32 芯片的 GPIO 被分成很多组,每组有 16 个引脚,如型号为 STM32F103VET6 型号的 芯片有 GPIOA、GPIOB、GPIOC 至 GPIOE 共 5 组 GPIO,芯片一共 10            
                
         
            
            
            
            GPIO作为单片机的重要外设之一,以下是我对于GPIO的输出功能的理解。处理器的IO引脚除了可以作为输入输出引脚外,还能够作为其他模块,比如定时器的输出、SPI模块的引脚、串口的功能引脚等功能,具有“通用性”,所以这类引脚我们用通用IO引脚来描述,叫GPIO引脚。关于GPIO引脚的内部电路结构由图可见,每一个IO引脚的内部都由一对保护二极管、一对上下拉电阻、输入数据寄存器、肖特基触发器、位设置/消            
                
         
            
            
            
            目录一、stm32的GPIO模式简介1、输入模式2、输出模式3、复用模式各形式说明:二、GPIO配置1、GPIO初始化函数2、外设使能函数及选择关于使能函数的选择3、完整的GPIO初始化步骤(1)用作普通IO(2)作为复用IO(以串口为例)三、关于引脚的0、1输出操作1、单一引脚的操作函数:2、同时对多个引脚操作函数:一、stm32的GPIO模式简介                
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-17 21:51:54
                            
                                846阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            通用同步异步收发器(USART)提供了一种灵活的方法来与使用工业标准NR 异步串行数据格式的外部设备之间进行全双工数据交换。 USART利用分数波特率发生器提供宽范围的波特率选择,支持同步单向通信和半双工单线通信。1、STM32固件库使用外围设备的主要思路在STM32中,外围设备的配置思路比较固定。首先是使能相关的时钟,一方面是设备本身的时钟,另一方面如果设备通过IO口输出还需要使能IO口的时钟;            
                
         
            
            
            
            时钟周期:时钟周期就是外接晶振的倒数  周期(S) = 1/频率(HZ)机器周期:完成一个基本操作所需要的时间叫机器周期,根据不同的板子它的机器周期不同指令周期:是指完成一条指令所需要的时间, 取址-解析-执行所需要的时间。通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令rigester修饰的变量不能取地址volatile 防止编译器优化:有时候编译            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-27 18:24:15
                            
                                243阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、外部中断的概述:STM32的每一个IO都可以作为外部中断输入STM32的中断控制器支持19个外部中断/事件请求: 线0~15: 对应外部IO口的输入中断 线16: 连接到PVD 输出 线17: 连接到RTC 时钟事件 线18: 连接到USB唤醒事件*每个外部中断线都可以独立的配置触发方式(上升沿,下降沿或者双边沿出发),触发/屏蔽,专用的状态位。 从上面可以看出,STM32 供 IO 口使用的            
                
         
            
            
            
            GPIO前言集成电路引脚GPIO门电路施密特触发器寄存器时钟AHBCPUADCGPIO的工作模式输入模式输入浮空(GPIO_Mode_IN_FLOATING)输入上拉(GPIO_Mode_IPU)输入下拉(GPIO_Mode_IPD)模拟输入(GPIO_Mode_AIN)输出模式开漏输出(GPIO_Mode_Out_OD)推挽输出(GPIO_Mode_Out_PP)复用功能开漏复用功能(GPIO            
                
         
            
            
            
            我们还是贯彻我们的学习方法1.什么是串口2.如何去配置串口3.串口的具体使用什么是串口?串口是异步,全双工,串行通信。何为异步?通信双方不在同一个时钟脉冲工作,没有时钟线。何为全双工?有两条数据线:发送和接收线;何为串行?通过一根线进行一位一位地发送。谈到通信就不得不说串口的数据帧:起始位(1)   数据位(8)   停止位接下来我们去查看串口的控制器框图&            
                
         
            
            
            
            一、外部请求: STM32 
 的中断控制器支持 
 19 
 个外部中断 
 / 
 事件请求: 
    
 线0~15:对应外部IO口的输入中断。线16:连接到PVD输出。线17:连接到RTC闹钟事件。线18:连接到USB唤醒事件。二、中断方式每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位三、中断线看图:    &            
                
         
            
            
            
            目录一、什么是SPI1、SPI 2、SPI工作原理1、原理2、从设备引脚管理(NSS)3、时钟信号的极性和相位二、SPI结构体配置1、主模式数据收发2、结构体配置 一、什么是SPISPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU