1、固件库:固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。2、CMSIS标准与固件库的关系就是对固件库函数的要求。ARM公司为了能让不同的芯片公司生产的Cortex-M3芯片能在软件上基本兼容,和芯片生产商共同提出了一套标准CMSIS标准(CortexMicrocontrollerSoftwareInterfaceStandard),翻译过来是“ARMCortex™微控制器软件接口标准”。ST官方库就是根据这套标准设计的。其实不用这么讲这么复杂的,一个简单的例子,我们在使用STM32芯片的时候首先要进行系统初始化,CMSIS规范就规定
目录一、STM32中断概述二、外部中断控制器EXTI三、按键中断四、串口中断一、STM32中断概述处理器中的中断 在处理器中,中断是一个过程,即CPU在正常执行程序的过程中,遇到外部/内部的紧急事件需要处理,暂时中止当前程序的执行,转而去为处理紧急的事件,待处理完毕后再返回被打断的程序处继续往下执行。中断在计算机多任务处理,尤其是即时系统中尤为重要。比如uCOS,FreeRTOS等。意义 中断能提高CPU的效率,同时能对突发事件做出实时处理。实现程序的并行化,实现嵌入式系统进程之间的切换 进入中断处理器自动保存现场到堆栈里{PC,xPSR,R0-R3,R12,LR}一旦入
00.目录文章目录00.目录01.GPIO简介02.GPIO基本结构03.GPIO位结构04.GPIO模式4.1输入浮空4.2输入上拉4.3输入下拉4.4模拟输入4.5开漏输出4.6开漏复用功能4.7推挽式输出4.8推挽式复用功能05.LED和蜂鸣器简介06.面包板07.附录01.GPIO简介GPIO(GeneralPurposeInputOutput)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档GRBL源码中步进电机的算法学习笔记(STM32)前言GRBL源码中算法部分的学习是我在公司研发激光切割机(三轴)期间研究的一套关于步进电机驱动控制的常见算法,以下内容都以激光切割机来举例,话不多说直接上干货。(以下内容皆为个人理解,如有错误可以在评论区揪出,希望大家一同讨论,共同进步)一、简看GRBL的工作流程对于一台激光切割机来说,当你想要雕刻一个圆第一步:(将指令或图片G代码通过串口发送给MCU)首先从上位机LaserGRBL/lightburn软件解析想要雕刻的圆,然后上位机将解析后的数据通过串口发送给MCU,MCU判断串
【STM32】低功耗模式下GPIO、外设、时钟省电配置避坑文章目录低功耗模式省电外设配置GPIO省电模式实验低功耗模式扩展附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作理论及实践二、如何判断MCU的外设是否支持位带低功耗模式【STM32笔记】低功耗模式配置及避坑汇总前文:blog.csdn.net/weixin_53403301/article/details/128216064【STM32笔记】HAL库低功耗模式配置(ADC唤醒无法使用、低功耗模式无法烧录解决
笔记整理自B站UP主江科大自化协教程《STM32入门教程-2023持续更新中》,所用单片机也为教程推荐单片机。大致内容第一部分:定时器基本定时的功能,定时器每隔这个时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的,比如要做一个时钟、秒表或者使用一些程序算法的时候都需要用到定时中断这个功能第二部分:定时器输出比较的功能,最常见的用途就是产生PWM波形,用于驱动电机等设备第三部分:定时器输入捕获的功能,使用输入buhuo这个模块来实现测量方波频率的例子第四部分:定时器的编码器接口,使用编码器接口能够更加方便地读取正交编码器的输出波形,在编码电机测速中,应用广泛使用定时器的外部时钟,可以提
STM32WB55开发----5.调整射频功率概述硬件准备视频教学样品申请源码下载选择芯片型号配置时钟源配置时钟树RTC时钟配置查看开启STM32_WPAN条件配置HSEM配置IPCC配置RTC启动RF开启蓝牙开启串口调试配置蓝牙参数设置工程信息工程文件设置Keil工程配置代码配置射频功率ACI_HAL_SET_TX_POWER_LEVEL结果演示概述随着无线通信技术的不断进步,能够精确地控制射频(RF)信号的功率变得越来越重要。调整射频功率不仅可以影响设备的通信距离和覆盖范围,还可以优化电池的使用寿命和减少可能的射频干扰。ACI_HAL_SET_TX_POWER_LEVEL指令提供了一种方法
目录Preface:(一)原理相关(二)CUBEMX配置(三)轮询方式读写(四)DMA方式读写Preface:STM32F4有一个FSMC(FlexibleStaticMemoryController,可变静态存储控制器),可以用来驱动8080接口的TFTLCD,我之前就写过一篇blog,是用FSMC来驱动4.3寸液晶屏;此外,还可以用FSMC来连接外部的各种存储器,比如说SRAM、NORFLASH、PSRAM等等;但是每个区(Bank)的功能是不一样的;Bank1可以连接多达4个NORFLASH或PSRAM/SRAM存储器件(通过片选);Bank2和Bank3只能用于访问NANDFLASH,
这篇文章将详细介绍STM32,cubeMX定时器的配置和使用。文章目录前言一、定时器基础知识二、cubeMX配置三、定时时长四、自动生成代码讲解五、实验程序总结前言实验开发板:STM32F103C8T6。所需软件:keil5,cubeMX。实验目的:了解cubeMX定时器的配置和使用。实验:使用定时器控制led闪烁。一、定时器基础知识STM32的定时器是用于时间测量和事件生成的复杂工具。可以使用内部或外部时钟源。时钟源和分频设置将决定定时器计数的速度。定时器可以配置为在特定事件(如溢出或匹配特定值)上触发中断。这使得它能够周期性地执行代码片段,例如读取传感器数据或刷新显示。定时器的主要组件:计
综合多篇文章对实现printf进行总结,本篇博客包含内容如下:使用MicroLIB实现printf(Windows环境下和Linux环境下)使用C标准库实现printf(也就是不需要配置工程打开MicroLIB)结合DMA实现printf(针对大量数据、OS任务间使用printf冲突)多串口通信(当有多个串口通信设备时)printf使用常见问题如果本篇博客对你有帮助的话,记得点个赞哦!谢谢大家!😀😀😀😀😀😀文章目录一、需打开MicroLIB版打开MicroLIB,后面的步骤基于此(重点!!!!!!!)1.1方案一1.1.1修改usart.cⅠ添加头文件stdio.hⅡ定义结构体FILEⅢ重写f