草庐IT

STM32 HAL库 STM32CubeMx -- 外部中断

文章目录一、STM32中断概述二、NVIC简介NVIC寄存器简介中断优先级NVIC中断配置固件库中断编程三、外部中断(EXTI)EXTI简介EXTI功能框图中断/事件线四、STM32CubeMx配置五、代码分析附录一、STM32中断概述中断,是指处理机处理程序运行中出现的紧急事件的整个过程。程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断。当处理机接受中断时,只需暂停一个或几个周期而不执行处理程序的中断,称为简单中断,中断又可分为屏蔽中断和非屏蔽中断两

stm32使用hal库中断控制串口通信

文章目录实验任务实验材料硬件软件任务一创建项目1、配置USART12、配置GPIO3、项目管理代码编写使用的hal库apiHAL_UART_Receive_ITHAL_UART_Transmit_ITHAL_GPIO_WritePinHAL_Delay(uintms)代码思路main函数代码实验现象任务二代码思路相关代码实验现象注意事项参考资料实验任务1)当stm32接收到字符“t”时,持续发送“hellowindows!”;当接收到字符“s”时,停止发送“hellowindows!”(提示:采用一个全局标量做信号灯);2)当stm32接收到字符“stopstm32!”时,停止持续发送“hel

1、STM32CubeMX和STM32Cube库(HAL)详细介绍

目录前言STM32Cube生态STM32Cube是什么?        STM32Cube软件工具套件STM32CubeEmbedded软件STM32CubeMX​编辑前言        也许大家在学习正点原子或者其他32视频和代码的时候都听过HAL库,是的这是ST官方最新的函数库,而以前的标准库已不再更新与发展。而跟随而来的就是STM32CubeMX图形化编程方式的兴起,图形化编程方式除了编程简单,图形化编程配置好后能够转换成响应的代码,极大的方便了开发者的开发,而且其具有很好的移植性,图形化编程方式已经成为了单片机开发的主流。对于国内的一些教程对其介绍的比较少,因此本人来到了ST管网查看,

基于CubeMX(hal库)stm32中hrtim高分辨率定时器的基本使用(自存)

基于CubeMX(hal库)stm32中hrtim高分辨率定时器的基本使用(自存)一、CubeMX配置1、选通道单通道输出or双通道输出2、TimerA~F配置(MasterTimer不用管)比较值Compare个人感觉跟CCR差不多的意思,注意不要大于上面的Period就行设置上升沿和下降沿时间:若想让上设Compare=CCR如图设置即可即在计数到Compare1时拉低,计数溢出时拉高所以上图输出频率10kHz占空比25%的互补PWM波Set/ResetSourceeSelection设置有几个源可以决定拉低拉高时间,有多个源还可设置优先级下面的Output2Configuration我设

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库生成的代码,