STM32智能小车视频教程 STM32 GPIO工作原理


GPIO相关配置寄存器
u 1.2.1 端口配置低寄存器(GPIOx_CRL)
GPIO相关配置寄存器
u 1.2.1 端口配置低寄存器(GPIOx_CRL)
GPIO相关配置寄存器
u 1.2.2 端口配置高寄存器(GPIOx_CRH)
GPIO相关配置寄存器
u 1.2.3 端口输入数据寄存器(GPIOx_IDR)
GPIO相关配置寄存器
是每组IO口含下面7个寄存器。也就是7个寄存器, 一共可以控制一组GPIO的16个IO口。
GPIOx_CRL :端口配置低寄存器 GPIOx_CRH:端口配置高寄存器 GPIOx_IDR:端口输入寄存器 GPIOx_ODR:端口输出寄存器 GPIOx_BSRR:端口位设置/清除寄存器 GPIOx_BRR :端口位清除寄存器 GPIOx_LCKR:端口配置锁存寄存器
STM32引脚说明
uSTM32F103ZET6
- 一共有7组IO口 - 每组IO口有16个IO - 一共16X7=112个IO
GPIOA,GPIOB---GPIOG
STM32引脚说明
uSTM32F103RCT6
GPIOD0~D2
- 一共有4组IO口 - 一共16X3+3=51个IO GPIOA0~A15 GPIOB0~B15 GPIOC0~C15
GPIO相关配置寄存器
每组GPIO端口的寄存器包括:
两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH) , 两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR), 一个32位置位/ 复位寄存器(GPIOx_BSRR), 一个16位复位寄存器(GPIOx_BRR), 一个32位锁定寄存器(GPIOx_LCKR)。 每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字 被访问(不允许半字或 1.2.4 端口输出数据寄存器(GPIOx_ODR)
GPIO相关配置寄存器
u 1.2.4 端口输出数据寄存器(GPIOx_ODR)
GPIO相关配置寄存器
u 1.2.5 端口位设置/清除寄存器(GPIOx_BSRR)
GPIO相关配置寄存器
u 1.2.6 端口位清除寄存器(GPIOx_BRR)
GPIO工作方式 u GPIO的输入工作模式4—模拟模式
GPIO工作方式 u GPIO的输出工作模式1—开漏输出模式
GPIO工作方式 u GPIO的输出工作模式2—开漏复用输出模式
GPIO工作方式 u GPIO的输出工作模式3—推挽输出模式
GPIO工作方式 u GPIO的输出工作模式4—推挽复用输出模式
作用:方便布线
STM32引脚说明 u所有IO口都可以作为中断输入 这在我们外部中断实验我们会详细讲解。
慧净HJduino网络学院出品
日行一善,美满人生 慧净学院教程有51、AVR、PIC、STM32、HJduino智能小车、 树莓派智能小车、两轮平衡小车视频教程、教育机器人教程,从 事网络教学10多年,为同学们提供单片机智能车机器人学习平台。
GPIO基本结构
u STM32的大部分引脚除
了当GPIO使用外,还可 以复用为外设功能引脚 (比如串口),这部分 知识我们会在后面讲解。 本讲主要讲解引脚做IO 使用方面的知识。
GPIO基本结构
(FT)
GPIO工作方式 u 4种输入模式:
输入浮空 输入上拉 输入下拉 模拟输入
u 4种输出模式:
STM32智能小车视频教程 STM32 GPIO工作原理
基于慧净STM32智能小车讲解
目录
1 2 3
GPIO基本结构和工作方式 GPIO寄存器说明 STM32F10x GPIO引脚说明
GPIO基本结构 n 参考资料:
p STM32F1xx官方资料:
《STM32中文参考手册V10》-第8章通用和复用功能IO(GPIO和AFIO ) 芯片数据手册(datasheet) 105
STM32引脚说明 u端口复用功能
STM32的大部分端口都具有复用功能。 所谓复用,就是一些端口不仅仅可以做为通用IO口,还可以复用为一 些外设引脚,比如PA9,PA10可以复用为STM32的串口1引脚。
作用:最大限度的利用端口资源
STM32引脚说明 u端口重映射功能
就是可以把某些功能引脚映射到其他引脚。 比如串口1默认引脚是PA9,PA10可以通过配置重映射映 射到PB6,PB7
开漏输出 开漏复用功能 推挽式输出 推挽式复用功能
8种工作模式的区别:
GPIO工作方式 u 3种最大翻转速度:
-2MHZ -10MHz -50MHz
GPIO工作方式 u GPIO的输入工作模式1—输入浮空模式
GPIO工作方式 u GPIO的输入工作模式2—输入上拉模式
GPIO工作方式 u GPIO的输入工作模式3—输入下拉模式
GPIO工作方式
u 上电复位后,GPIO默认为浮空状态,部分特殊功 能引脚为特定状态。
GPIO工作方式 推挽输出:
可以输出强高低电平,连接数字器件
开漏输出:
只可以输出强低电平,高电平得靠外部电阻拉高。输出 端相当于三极管的集电极. 要得到高电平状态需要上拉电 阻才行. 适合于做电流型的驱动,其吸收电流的能力相对 强(一般20ma以内)
合集下载

基于STM32的智能循迹避障小车

基于STM32的智能循迹避障小车

DOI:10.19392/j.cnki.1671-7341.201919018基于STM32的智能循迹避障小车刘芳张田田牛梦豪北京林业大学北京100083摘要:智能小车综合利用传感器、人工智能、自动控制、视觉计算、体系结构设计等多项技术,是计算机科学、模式识别和智能控制技术发展到一定高度的产物,也是未来智能汽车的发展趋势。

本文介绍了一种基于STM32单片机的智能循迹避障小车硬件系统和软件系统的设计。

该智能小车以STM32单片机为主控芯片,采用红外对管和超声波传感器作为检测元件,使小车能按预定的轨道稳定行驶,能正确地识别路径、避障。

关键词:循迹避障;STM32F103ZET6;红外对管传感器;超声波传感器;舵机智能小车是一种可以进行自主信息检测、自主决策以及自主行驶的高度智能化设备,涉及的学科主要包括单片机原理、软件编程、电机自动控制、数字电路、模拟电路,以及硬件设计、信息采集、信号处理技术和人工智能技术等等。

本文基于STM32主控芯片设计的智能小车包括两个单元,其一是循迹单元,其二是避障单元。

主要利用循迹单元、避障单元的外围硬件设备结合软件控制,设计出一个较为完整的自主控制系统,使智能小车分别能够按预设标线完成循迹行驶和自主避障行驶。

1工作原理智能循迹避障小车的控制系统主要由以下四个模块组成:红外对管模块、超声波模块、舵机模块、电机驱动模块。

循迹小车的控制原理是将红外对管传感器固定在小车前端,实时采集道路信息,将采集到的信息传输到STM32处理器,处理器根据预设的程序调整小车电机的转速进而使小车可以按照预先规划好的路线行驶实现循迹。

避障小车的控制原理是将超声波传感器固定在舵机上并置于小车前端,由STM32处理器根据设定的程序调整超声波测量角度,测量小车与障碍物的距离,从而实现避障功能。

2硬件设计(1)主控制器单元。

该智能循迹小车的主控制器单元采用STM32F103ZET6单片机,使用的是时钟频率为72MHz的ARMCortex系列处理器。

stm32单片机工作原理介绍

stm32单片机工作原理介绍

stm32单片机工作原理介绍STM32单片机是一种基于ARMCortex-M内核的微控制器,广泛应用于工业自动化、控制系统、智能家居、医疗设备等领域。

其工作原理可以简单概括为:将代码存储在闪存中,由处理器执行代码控制外设的操作,实现各种功能。

具体来说,STM32单片机的工作原理包括以下几个方面:1. 内存管理STM32单片机内置了闪存、RAM和EEPROM等多种存储器,用于存储程序、数据和配置信息。

程序代码通常存储在闪存中,由处理器执行。

数据可以存储在RAM中,EEPROM则用于存储一些重要的配置信息,例如设备ID、网络配置等。

2. 外设控制STM32单片机内置了多种外设,包括GPIO、USART、SPI、I2C、ADC等。

这些外设可以被程序控制,实现各种功能。

例如,GPIO可以用于控制LED、按键等;USART可以用于串口通信;SPI和I2C可以用于连接外部设备;ADC可以用于模拟信号采集等。

3. 中断处理STM32单片机支持多种中断,包括外部和内部中断。

当外设发生事件时,例如USART接收到数据,就会触发中断,使得处理器暂停当前任务,执行中断处理程序。

中断处理程序可以读取外设数据,更新状态等,然后返回到原始任务。

4. 时钟控制STM32单片机需要一个稳定的时钟源,以保证处理器和外设的工作正常。

一般来说,STM32单片机内置了多个时钟源,例如高速内部振荡器、低速内部振荡器、外部晶振等。

程序可以通过配置寄存器,选择时钟源和时钟分频器,以满足不同的应用需求。

总之,STM32单片机的工作原理涉及到多个方面,包括内存管理、外设控制、中断处理和时钟控制等。

熟悉这些原理,可以更好地理解STM32单片机的应用和开发。

毕业设计-基于stm32的智能小车设计

毕业设计-基于stm32的智能小车设计

摘要本次试验主要分析了基于STM32F103微处理器的智能小车控制系统的系统设计过程.此智能系统的组成主要包括STM32F103控制器、电机驱动电路、红外探测电路、超声波避障电路.本次试验采用STM32F103微处理器为核心芯片,利用PWM技术对速度以及舵机转向进行控制,循迹模块进行黑白检测,避障模块进行障碍物检测并避障功能,其他外围扩展电路实现系统整体功能。

小车在运动时,避障程序优先于循迹程序,用超声波避障电路进行测距并避障,在超声波模块下我们使用舵机来控制超声波的发射方向,用红外探测电路实现小车循迹功能.在硬件设计的基础上提出了实现电机控制功能、智能小车简单循迹和避障功能的软件设计方案,并在STM32集成开发环境Keil下编写了相应的控制程序,并使用mcuisp软件进行程序下载。

关键词:stm32;红外探测;超声波避障;PWM;电机控制AbstractThis experiment mainly analyzes the control system of smart car based on microprocessor STM32F103 system design process。

The composition of the intelligent system mainly including STM32F103 controller, motor drive circuit, infrared detection circuit, circuit of ultrasonic obstacle avoidance。

This experiment adopts STM32F103 microprocessor as the core chip, using PWM technique to control speed and steering gear steering,tracking module is used to detect the black and white, obstacle avoidance module for obstacle detection and obstacle avoidance function, other peripheral extended circuit to realize the whole system function。

基于STM32单片机的智能搬运小车设计

基于STM32单片机的智能搬运小车设计
0㊀ 引言
王㊀ 楠㊀ 查志敏
随着传感器技术和自动控制技术不断创新, 机械、 电气和计算机网络之间的联系逐渐紧密, 自动控制 等人工智能技术在工业、 农业、 军事领域中逐步发挥着重要的作用, 人工智能技术正在不断地改变着人们 的生活。笔者设计的智能搬运小车以具有高稳定性的 STM32 系列单片机为控制核心, 用红外光电传感器 作为检测元件实现小车自动循迹、 避障、 搬运等功能。
1. 1㊀
主控制器单元 该智能循迹小车主控制器单元采用 STM32 单片机, 使用 V7 内核架构的 ARM-Cortex-M3 增强型处理 器, 其时钟频率达到 72MHz。智能循迹小车 I / O 端口为: PF0 、 PF1 用于小车的车轮调速, PE10 —PE14 和 PD1 —PD5 用于红外传感器的输入, PE2 —PE6 用于电动机的控制, 此芯片引脚结构如图 2 所示。
2. 2㊀
寻迹部分设计 此小车循迹信号采集使用红外线传感器。其循迹原理如下: 当红外传感器采集到黑色和白色信号时, 1” 0” 和“ 的信号到主控制器; 通过每组五个传感器的信号反馈, 主控制器做出相应的判断, 控制 分别反馈“ 小车循迹运动。循迹过程中会有 2 种信号输入到主控制器, 但是有些情况几乎不可能发生, 在输入程序 中要进行简化处理。部分传感器循迹信号如表 1 所示。
第 37 卷㊀ 第 6 期 2017 年 11 月
大庆师范学院学报
JOURNAL OF DAQING NORMAL UNIVERSITY㊀ ㊀ ㊀ ㊀ ㊀ ㊀ ㊀
Vol 37㊀ No 6 ㊀ November 2017

DOI 10. 13356 / j. cnki. jdnu. 2095-0063. 2017. 06. 004

stm32单片机工作原理介绍

stm32单片机工作原理介绍

stm32单片机工作原理介绍
STM32单片机是一种基于ARMCortex-M内核的微控制器。

它采用了先进的32位嵌入式架构,具有高性能、低功耗、高可靠性等特点,被广泛应用于智能家居、工业控制、汽车电子等领域。

STM32单片机的工作原理主要分为四个阶段:复位、初始化、执行、中断。

复位是系统加电后的第一个步骤,此时所有外设都被重置为默认状态。

初始化阶段完成各外设的初始化以及系统时钟的配置。

执行阶段是程序的主要部分,即按照程序流程执行用户的应用程序。

中断是在执行阶段遇到特殊事件时,单片机会暂停当前任务执行中断服务程序,处理完中断后再返回执行任务。

STM32单片机的核心是CPU,它负责执行指令、处理数据和控制程序的运行。

除了CPU,STM32单片机还包含了存储器、时钟、GPIO、串口、定时器、中断控制器等外设模块。

存储器包括闪存和RAM,用于存储程序代码和数据。

时钟模块提供时钟信号给CPU和其他外设模块。

GPIO模块用于控制外部设备的信号。

串口模块用于与其他设备进行通信。

定时器模块用于计时、产生PWM信号等。

中断控制器用于管理各种中断请求,响应中断服务程序。

总之,STM32单片机是一种高性能、低功耗、高可靠性的微控制器,能够满足各种应用场景的需求。

了解STM32单片机的工作原理对于开发者来说非常重要,可以帮助开发者更好地利用STM32单片机的功能。

- 1 -。

推荐-第4章 stm32单片机通用输入输出GPIO 精品

推荐-第4章 stm32单片机通用输入输出GPIO 精品
软件重新映射复用功能
为了使不同器件封装的外设IO功能的数量达到最优,可以把一些复用 功能重新映射到其它一些引脚上,这可以通过软件配置相应的寄存器 来完成。
USART3_TX 的默认引出脚是 PB10, USART3_RX 的默认引出脚是 PB11;重映射 后,USART3_TX 的引出脚为 PD8,变更 USART3_RX 的引出脚为PD9
STM32 引脚
PC口 16脚 PD口 3脚
PA口 16脚
PB口 16脚
STM32F103RBT6 包含4个端口: PA口 、PB口、PC口、PD口,共有 51个I/O管脚: PA口 16脚+ PB口16脚+ PC口16脚+ PD口3脚。
4.1 STM32F10x的输入/输出基本结构
4.2 GPIO相关功能寄存器
STM32单片机 最多有7个16位的并行 I/O端口: PA、PB、PC、PD、PE、PF、PG。
STM32F103Cx、103Rx单片机 只有4个16位的 并行 I/O端口:PA、PB、PC、PD。
STM32 引脚
PC口 3脚 PD口 2脚
PA口 16脚
PB口 16脚
STM32F103CBT6 包含4个端口: PA口 、PB口、PC口、PD口,共有 37个I/O管脚: PA口 16脚+ PB口16脚+ PC口3脚+ PD口2脚。
STM32F10x处理器的每个GPIO端口都对应有: 2个32位配置寄存器(GPIOx-CRL,GPIOx-CRH) 2个32位数据寄存器(GPIOx-IDR,GPIOx-ODR) 1个32位置位/复位寄存器(GPIOx-BSRR) 1个16位复位寄存器(GPIOx-BRR) 1个32位锁定寄存器(GPIOx-LCKR)

stm32gpio工作原理

STM32 GPIO工作原理是:
1.下拉输入模式:I/O端口的电平信号直接进入输入数据寄存器。

在I/O端口悬空(在无信号输入)的情况下,输入端的电平可以保持在低电平;在I/O端口输入为高电平的时候,输入端的电平也还是高电平。

2.模拟输入模式:I/O端口的模拟信号(电压信号,而非电平信号)
直接模拟输入到片上外设模块,比如ADC模块等等。

3.开漏输出模式:通过设置位设置/清除寄存器或者输出数据寄存器
的值,途经N-MOS管,最终输出到I/O端口。

4.开漏复用输出模式:与开漏输出模式很是类似。

只是输出的高低
电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。

stm32数码驱动电路原理

stm32数码驱动电路原理我们先来了解一下什么是STM32。

STM32是意法半导体(STMicroelectronics)推出的一系列32位单片机产品系列,广泛应用于工业控制、通信、汽车电子、消费类电子等领域。

其中,STM32的数码驱动电路是其重要的应用之一。

数码驱动电路是指用于驱动数码管显示的电路,它通过控制数码管的段选和位选引脚,实现对不同数字的显示。

而STM32数码驱动电路则是利用STM32单片机的GPIO(通用输入输出)功能来实现对数码管的驱动控制。

在STM32数码驱动电路中,主要涉及到以下几个方面的知识:GPIO 配置、数码管的连接、数码管的驱动方式以及数码管的显示控制。

首先是GPIO配置。

在STM32中,GPIO是一种通用的输入输出接口,可以通过配置相应的寄存器来实现输入输出功能。

在数码驱动电路中,需要将相应的GPIO引脚配置为输出模式,以控制数码管的显示。

接下来是数码管的连接。

数码管一般由多个LED组成,每个LED对应一个段,而数码管的位选则是通过控制某一位的引脚电平来选择要显示的数字。

在数码驱动电路中,需要将数码管的段选引脚连接到STM32的GPIO引脚上,并将数码管的位选引脚连接到STM32的其他GPIO引脚上。

然后是数码管的驱动方式。

数码管的驱动方式有两种:共阳极和共阴极。

共阳极表示数码管的阳极(正极)连接在一起,而共阴极则表示数码管的阴极(负极)连接在一起。

在STM32数码驱动电路中,需要根据数码管的类型选择相应的驱动方式,并通过配置STM32的GPIO引脚输出相应的电平信号,以控制数码管的亮灭。

最后是数码管的显示控制。

数码管的显示控制是通过控制段选和位选引脚的电平来实现的。

通过对段选引脚输出相应的电平信号,可以选择要显示的数字,而通过对位选引脚输出相应的电平信号,可以选择要显示的位数。

在STM32数码驱动电路中,可以通过编程控制相应的GPIO引脚的电平来实现数码管的显示控制。

stm32的实际应用及工作原理

STM32的实际应用及工作原理1. 简介STM32是一款基于ARM Cortex-M系列内核的32位微控制器系列,由意法半导体(STMicroelectronics)开发。

STM32具有较高的性能和灵活性,广泛应用于各种领域,包括工业自动化、通信、汽车电子、消费电子等。

2. 实际应用以下是STM32在各个领域的实际应用:2.1 工业自动化•PLC:STM32作为工业控制器的核心,实现逻辑控制、数据采集等功能。

•机器人控制:STM32用于机器人的运动控制、传感器数据处理等。

•电源控制:STM32监控电源状态、实现电源管理功能。

2.2 通信•无线通信模块:STM32与无线模块配合使用,实现无线通信,如蓝牙、Wi-Fi、LoRa等。

•通信设备控制:STM32用于控制通信设备,如路由器、交换机等。

2.3 汽车电子•发动机控制单元(ECU):STM32作为ECU的核心,实现车辆发动机的控制和管理。

•音频系统:STM32用于汽车音频系统的控制和信号处理。

2.4 消费电子•嵌入式设备:STM32用于各种嵌入式设备,如智能家居、智能手表、游戏机等。

•手持设备:STM32用于移动设备的控制和数据处理。

3. 工作原理STM32的工作原理主要是基于ARM Cortex-M系列内核。

以下是STM32的工作原理的详细说明:3.1 ARM Cortex-M系列内核ARM Cortex-M系列内核是一种32位精简指令集(RISC)处理器内核。

它具有低功耗、高性能和可扩展性等特性,适合用于嵌入式系统中。

3.2 STM32系列芯片架构STM32系列芯片采用ARM Cortex-M系列内核,例如Cortex-M0、Cortex-M3、Cortex-M4等。

这些芯片在性能、存储容量和外设等方面有所差异。

3.3 外设和功能模块STM32芯片集成了丰富的外设和功能模块,包括但不限于: - 定时器:用于定时和计时操作。

- 串行通信接口(UART、SPI、I2C):用于与其他设备进行数据通信。

STM32开发板例程讲解之二:GPIO的描述和配置,GPIOIOTG例程精讲ch...

(二)专门的寄存器(GPIOx_BSRR 和GPIOx_BRR) 实现对GPIO 口的原子操作,即回避了设置或清除I/O端口时的“读-修改-写”操作,使得设置或清 除I/O端口的操作不会被中断处理打断而造成误动作。 (三)每个GPIO 口都可以作为外部中断的输入,便于系统灵活设计。 (四)I/O口的输出模式下,有3种输出速度可选(2MHz 、10MHz 和50MHz) ,这有利于噪声控制。 (五)所有I/O口兼容CMOS和TTL,多数I/O口兼容5V电平。 (六)大电流驱动能力:GPIO 口在高低电平分别为0.4V和VDD-0.4V时,可以提供或吸收8mA电流;如果把输入输出电平分别放宽到1.3V和VDD1.3V时,可以提供或吸收20mA电流。 (七)具有独立的唤醒I/O口。 (八)很多I/O口的复用功能可以重新映射。 (九)GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。此功能非常有利于在程序跑飞的 情况下保护系统中其他的设备,不会因为某些I/O口的配置被改变而损坏——如一个输入口变成输出口并输出电流。
#if 0 // 配置所有未使用GPIO引脚为输入模式(浮空输入),这样可以降低功耗,并且提高器件的抗EMI/EMC 的性能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE);
//armfly :注释掉的原因是当代码在外部存储器运行时,GPIOD,E,F,G部分IO用于FSMC,因此对这些IO不能重置,否则导致取指异常 // GPIO_Init(GPIOD, &GPIO_InitStructure); // GPIO_Init(GPIOE, &GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档