草庐IT

【STM32】外部中断实现按键实验

🐱作者:一只大喵咪1201🐱专栏:《STM32学习》🔥格言:你只管努力,剩下的交给时间!外部中断实现按键实验😻描述😻外部中断概述😼外部中断配置寄存器😻实验代码😼LED初始化😼蜂鸣器初始化😼按键初始化😼串口初始化😼外部中断初始化😻效果展示😻描述在前面的文章控制LED和蜂鸣器的按键实验中详细的讲解了怎样通过GPIO的输入模式来控制LED灯和蜂鸣器的状态。这篇文章同样是实现上诉的功能,但是方式是采用外部中断的方式实现的,也就是4个按键分别对应一个外部中断,中断程序中控制一种状态。😻外部中断概述本喵使用的STM32F103ZET6芯片有7组GPIO,每一组GPIO又有16个IO口,而STM32的强大之

嵌入式硬件——stm32F103C8T6

STM32F103C8T6是一款基于ARMCortex-M3内核的32位微控制器如下图:  处理器核心:STM32F103C8T6内置了ARMCortex-M3处理器,这是一种高性能、低功耗的32位RISC处理器,适用于嵌入式系统。时钟速度:它可以工作在不同的时钟速度,最高主频可达72MHz。存储器:包括64KB的Flash程序存储器用于存储程序代码,以及20KB的SRAM用于存储数据和变量。外设:该芯片提供了丰富的外设接口,包括GPIO(通用输入/输出)、USART(串口通信)、SPI(串行外设接口)、I2C(I2C总线)、定时器、PWM控制器、ADC(模数转换器)等。通信接口:它支持多种通

单片机毕业设计 stm32智能手环

文章目录1简介1项目背景意义2系统方案的设计3系统总体结构4系统硬件设计4.1主控模块4.2姿态解算模块:MPU60504.3DS3231实物图4.4TFT显示模块4.5硬件连接效果5跌倒检测算法原理5.1跌倒检测的判定流程5.2关键算法实现6最后1简介Hi,大家好,学长今天向大家介绍一个单片机项目基于单片机的智能手环-计步器大家可用于课程设计或毕业设计1项目背景意义随着智能化时代的来临,无线互联与智能化处理软件的大面积普及。传统的就医形式已经通过网络互联科技而变得高效,但是,纵然在这种趋势下,老年人就医依然面临很多困境,种种的原因导致很多老年人突发疾病但是没能得多及时的救治。老年智能手环主要

单片机毕业设计 stm32智能扫地机器人设计与实现

文章目录0简介1课题背景2硬件系统总体框架2.1电机驱动2.2红外线传感器2.3超声波传感器2.4MPU60502.5ATK-ESP8266WIFI模块2.6电源管理模块3软件系统设计3.1MPU6050数据读取3.2超声波传感器数据读取3.3电机控制3.3.1PID控制3.4扫地机器人路径规划3.4.1弓字型行走4测试5最后0简介Hi,大家好,学长今天向大家介绍一个单片机项目,大家可用于课程设计或毕业设计基于stm32的智能扫地机器人设计与实现1课题背景随着人口老龄化的到来和人民对提升生活品质的需要,人们对在现实生活场景中取代人力的服务机器人有着迫切的需要。同时,机电、自动控制、计算机、传感

【明解STM32】中断系统理论基础知识篇之中断基本原理及NVIC

目录一、前言二、基本原理概述1、中断的作用2、中断和异常3、NVIC中断控制器4、中断的分类三、中断管理机制1、中断向量2、中断优先级3、中断嵌套四、中断处理流程五、总结一、前言        中断是什么?举个例子来说,当我们正在工作时,突然电话响了,这时你会把手里的工作先停下来,然后去接电话,当接完电话后,电话里的人安排你马上做一件事,这时你需要立刻去做这件事,当把这件事做完后你会继续之前被打断的工作,这个过程为一次中断。        在计算机科学中,中断指计算机CPU获知某些事,暂停正在执行的程序,转而去执行处理该事件的程序,当这段程序执行完毕后再继续执行之前的程序。整个过程称为中断处理

stm32串口+DMA环形缓冲收发保姆级

基于HAL库的STM32串口DMA环形缓冲收发实例首先在此感谢开源项目,以及大佬们的无私奉献,让每一个逐梦人能够免费学习,再次感谢!发布只为记录,记性不够,笔记来凑。记得点赞哦具体实现原理讲起来确实挺复杂,不过用起来还是很NICE的!可以直接移植!1、STM32CubeMax配置1.1、选择单片机型号2、配置时钟和串口或者直接在HCLK位置输入72,点击OK自动配置这个地方第四步,模式选择MODE。发送选择正常NOMAL.接收RX选择循环模式,第五步,外设地址不自增,存储器地址自增勾选数字长度选择字节模式byte此处必须使能UART,原因后面会提到然后点击生成文件就行。如果用的keil,则直接

AD23与STM32 Nucleo-64板

AD23与STM32Nucleo-64板一、AD231、shift+R:改变布线模式PCBEditor—>InteractiveRouting—>布线冲突方案常用方案:忽略阻碍Walkaround阻碍注:线走出来之,再用快捷键改变布线模式2、shift+W:布线时改变布线的宽度PCBEditor—>InteractiveRouting—>偏好添加常用线宽注:线走出来之,再用快捷键改变布线宽度3、PCBEditor—>Defaults—>PrimitiveList—>plolygon选第二项“PourOverAllSameNetObject”RemoveIslandLessThan“50sq.m

STM32系列(HAL库)——F103C8T6获取DHT11温湿度串口打印

本文参考此篇博客并在其基础上进行了修改:STM32F103驱动DHT11温湿度传感器(STM32MXcube,HAL)在此特别鸣谢原文博主!1.软件准备(1)编程平台:Keil5(2)CubeMX(3)XCOM(串口调试助手)2.硬件准备(1)F1的板子,本例使用经典F103C8T6 (2)DHT11——温湿度传感器(3)ST-link 下载器(4)USB-TTL模块(5)杜邦线若干3.CubeMX配置(1)芯片选择STM32F103C8T6 (2)配置RCC、SYS、时钟树配置RCC配置SYS配置时钟树(3)配置GPIO (4)配置串口1(5)设置路径、生成代码工程4、Keil5代码 (1)

STM32 定时器及PWM计算占空比计算周期

文使用Cubemx+MDK5开发方式(纯新手向记录一下)定时器时间计算两步(特别特别特别注意单位换算简单无脑)1MHZ=1000KHZ1KHZ=1000HZ1HZ的周期是1秒1s=1000毫秒(ms)1ms= 1000微秒(μs)1μs=1000纳秒(ns)第一步:定时器所在时钟总线频率/预分频/定时器计数值=频率//频率与时间是成反比的频率越高时间越短第二步:1/频率=产生中断的时间(秒)   就拿上图做例子我们算一下这个定时器三的中断多长时间产生一次第一步:72000000/36/1000 =2000(HZ) 72000000是因为该定时器挂载在APB2下APB2的时钟频率可以通过cube

STM32 hal库使用笔记(二)中断—定时器中断

目录一、定时器简介二、HAL库配置1.时钟树的配置2.CubeMX的配置三、代码编写四、拓展实验五、实验效果实验目的:利用定时器6控制LED灯的亮灭,间隔500ms实验平台:正点原子精英板一、定时器简介  定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型。对于计数模式分为:向上计数模式,向下计数模式,中心对