一、前言 在之前针对STM32的GPIO相关API函数及配置使用进行了详细的介绍,GPIO作为输入引脚时,调用相关读信号引脚函数接口就可以在程序的循环中,轮询的对输入信号进行读取检测操作,除了轮询的方式访问输入引脚,还可以通过另外一种叫做外部中断的方式来对引脚的输入信号进行检测,本篇首先介绍下EXTI的结构,接着介绍外部中断的相关概念,对STM32的IO外部中断EXTI有个初步的了解,在此基础上重点围绕IO外部中断EXTI的使用展开分析。图1外部中断设计二、EXTI结构 EXTI(Externalinterrupt/eventcontroller)—外部中断/事件
通用模式:4种输入模式,2种输出模式(此时GPIO受CM3内核(即:cpu)控制)复用模式:2种复用输出模式:推挽式复用功能输出模式、开漏复用功能输出模式(在复用模式下,GPIO受STM32片上外设(如:I^2C、UART、TIM、pwm、ADC等)所控制,(此时I/O口输出/输入的信息,都是由片上外设来发送/接收)一共八种模式4种输入模式:1.浮空输入: 浮空输入,就是I/O口在输入模式时,红框中的上/下拉电阻都是断开连接的情况下,stm32外部输入的信号进行读取。注意:VDD为3.3v,VSS为0v。 拓展:这个上/下拉电阻的阻值范围在3
前言最近在学习使用hal库,之前都是用标准库来写32代码,所以发个帖子记录一下学习过程,同时也希望能帮助到一些也在学习HAL库的同学。接下来进入正题一、串口中断是什么?串口中断是指当单片机收到一个串口数据时,单片机会产生一个中断信号,通知处理器中断服务程序去处理这个接收到的数据。在中断服务程序中,我们可以读取串口接收缓冲区中的数据,并根据具体的应用场景进行处理,例如存储、显示、计算等操作。串口中断一般通过使用串口的中断接收功能实现。当有新的数据到达串口时,单片机会产生一个中断请求,触发中断服务程序。中断服务程序在处理完接收到的数据后,可以根据具体的应用需求采取相应的处理措施。相比于轮询方式,采
前言:TFT-LCD作为显示终端必不可少的设备,目前大部分的TFT-LCD都具备了触摸功能。无论是在MCU亦或是SOC(MPU)中,触摸屏的使用都是十分常见的。触摸屏LCD通常分为2种:电阻触摸屏,电容触摸屏。两种不同的触摸屏LCD其编程与使用也存在一定的差别,本文将详细介绍电阻触摸屏与电容触摸屏的特点,并就电阻触摸屏进行代码编程讲解——HAL库。(文章结尾会有代码开源) 实验硬件:STM32F103ZET6;2.4寸TFT-LCD-电阻式触摸屏(240×320) 硬件实物图: 效果图:引脚连接:LCD显示引脚:VCC-->3.3VGN
文章目录一、实验目的二、实验环境三、实验内容1.实验任务2.实验步骤总结一、实验目的熟悉STM32模块的GPIO硬件连接;掌握GPIO初始化配置;掌握GPIO控制板上LED灯编程;熟练KEIL工程的配置,编译,调试,下载。二、实验环境操作系统:WINDOWS10开发工具:Keil4,UartAssists实验设备:125KRFID读写器模块、JLink在线调试器、电源、PC三、实验内容1.实验任务 运行程序后,LED灯D7、D8按照全熄灭、亮红灯,亮蓝灯、全亮的顺序保持1段时间(约1秒),并循环运行; 本实验所使用的是125KRFID读写器模块、JLink在线调试器、电源、PC;2.实验步
目录一编码器二电机测试的三种方法三STM32CubeMx配置四程序编写五实验结果一编码器常见的用于电机测速的编码器有霍尔编码器和光电编码器两种。两者测速的基本原理不同,但都是输出两路相位差90°的脉冲信号。这里以光电编码器为例介绍一下测速原理。光电编码器是由光源、光码盘和光敏元件组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。输出波形:方向:A、B相脉冲波形相差90°,A相位在前表示顺时针旋转,B相在前
数字芯片GPIO一般分为推挽输出和开漏输出数字芯片GPIO一般是推挽输出(PUSH-PULL),其内部结构如下:当上面的MOS管导通时,GPIO输出高电平1,称为“推”当下面MOS管导通时,GPIO输出低电平0,称为“挽”TTL也可以构成推挽结构推挽输出优缺点优点:1.输出高低电平与电源电压基本没有压差;2.高低电平驱动能力较强,一般数字芯片推挽3.输出IO口驱动电流最大可到20mA;4.电平切换速度快。缺点:不支持线与线与是指两个输出接在一起:推挽输出两个IO如果接在一起可能一个IO上面的MOS导通,另一个IO下面的MOS管导通,这样会损坏芯片而推挽输出的GPIO内部结构如下当MOS管导通时
使用寄存器编程操作GPIO前言GPIO相关的寄存器GPIO端口模式寄存器(GPIOx_MODER)(x=A..I)位操作GPIO端口输出类型寄存器(GPIOx_OTYPER)(x=A..I)GPIO端口输出速度寄存器(GPIOx_OSPEEDR)(x=A..I/)GPIO端口上拉/下拉寄存器(GPIOx_PUPDR)(x=A..I/)GPIO端口输入数据寄存器(GPIOx_IDR)(x=A..I)GPIO端口输出数据寄存器(GPIOx_ODR)(x=A..I)GPIO端口置位/复位寄存器(GPIOx_BSRR)(x=A..I)GPIO端口配置锁定寄存器(GPIOx_LCKR)(x=A..I)G
以STM32F4系列的单片机做例子一.引入 单片机最小系统的组成: 芯片+供电电路+复位电路+时钟(晶振)电路 一个完成的系统的组成 最小系统+项目所需要的其他硬件(外设) 芯片: 整个系统的核心相当于人类的大脑 会提供引脚与外部电路相连接 引脚(俗称官方称呼“GPIO”)二.GPIO GPIO是什么? GeneralPurposeInputOutput通用功能输出输出 GPIO就是从芯片内部引出来一根功能复用的口线(电线) 功能复用是指:GPIO的引脚可以由CP
系列文章目录一、小车1.0——基本蓝牙小车(仅蓝牙遥控小车运动方向,本篇)二、小车2.0——蓝牙小车PLUS(可以蓝牙控制方向+蓝牙直接调节车速)三、小车3.0——避障小车(超声波+舵机云台)四、小车4.0——无线手柄方向感知操控小车(mpu6050+双蓝牙透传)五、双轮自平衡小车(HAL库版)——点此学习吧文章目录系列文章目录前言一、前期准备二、CubeMX中的设置2.1.时钟树的配置2.2.TIM的设置2.2.1.TIM2设置2.2.2.TIM3设置2.2.3.TIM4设置2.3.INx分配的GPIO参数配置2.3.1.INx设置:2.3.2.Trig设置:三、代码总体项目代码结构3.1.