自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 STM32学习笔记-启动过程

这个部分是STM32出厂就带有的BOOTLOADER程序,用于串口下载的引导程序,用户可以通过串口下载程序,通过BOOTLOADER引导后将程序同样保存到主闪存内;系统存储器并不是启动程序的一种方式,而是下载程序的一种方式,程序还是保存在FLASH里,需要从FLASH启动程序才能使STM32正常运行;按正常flash启动方式来说,则映射到0X00000000获取MSP值(栈顶地址),和0X00000004获取PC值(指向Reset_Handler,在STM32的启动文件中);

2024-02-12 17:55:33 1583

原创 STM32学习笔记-DMA

DMA可以提供外设(一般指STM32上的外设,如ADC数据寄存器,串口的数据寄存器等用来保存数据的寄存器)和存储器(指RAM或者ROM,flash)或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源。12个独立可配置的通道: DMA1(7个通道), DMA2(5个通道) 每个通道都支持软件触发(软件代码执行寄存器的使能位)和特定的硬件触发(不同外设的DMA触发源在不同的通道)DMA(Direct Memory Access)直接存储器存取,协助CPU进行数据转运;

2024-01-28 22:31:26 258 1

原创 STM32学习笔记-ADC

数据寄存器:注入组对应的注入组数据寄存器,有4个,故可以在模数转换完共放入4个转换数据;而规格组的数据寄存器只有一个,故它只能存放一次模数转换的数据,第二次转换后放入数据寄存器会覆盖前面的值;若要保证数据的准确,就要在每次数据转换完成后及时提取数据寄存器里的值,防止被覆盖;这里虽然可以一次性选择多个通道,但是实际在进行模数转换的时候,还是一个通道一个通道的进行转换,转换好一个数据就往数据寄存器里存放一个;ADC通道:每个ADC有16个外部通道,在GPIO上,根据STM32型号的差异,具体GPIO见下表;

2024-01-18 22:52:17 752 1

原创 STM32学习笔记-输入捕获

*极性选择交叉输入,若结构体原设定通道1,则此设置触发2通道的CCR,若原通道2,则触发CCR1,同时,通道选择根据原设定对换2或者1,同时将上面结构体中的边沿检测取反,用来触发反向通道的CCR*/在PWM基础上,1个GPIO触发时,设置两组触发信号分别送到两个CCR中,一个为上升沿触发,一个为下降沿触发,上升沿触发转运CNT值转运到CCR1并通过TI1FP1触发从模式清零CNT;从模式下有8种动作,4种为编码器相关,另外介绍,剩下4种,测量PWM频率,需要将时基单元的CNT清零,故选择RESET。

2023-12-25 23:30:47 1549

原创 STM32学习笔记-TIM输出比较

复用功能输入输出指的是GPIO的复用及重定义功能在GPIO上的实现,复用输入,当由数据传入时,虽然输入数据寄存器和复用功能输入都由信号,但是复用功能上的信号进入片上外设后,外设已经定义对应功能,可以实现;CNT的数据变化,与CCR进行比较,如果CNT>=CCR时,会改变OCxREF的电平状态,OCxREF可以被设置成触发主模式,可以映射到主模式的TRGO;即GPIO的复用功能,在对片上外设进行相应操作后,就可实现信号的输入输出在GPIO上的操作;输出/输入数据寄存器控制输入和输出指的是GPIO的控制。

2023-12-18 21:14:33 378

原创 STM32学习笔记-通用定时器-定时中断和外部时钟

外部时钟模式2:由外部GPIO-ETR输入,不通过触发选择器,直接送给时基单元,调用void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter);*//*实现外部时钟模式一的设定*//*也是时钟源选择,TIx外部时钟(GPIO口作为输入捕获的那些,第三个和第四个参数是对输入的时钟信号的极性选择和滤波),*/

2023-12-17 21:01:52 1154

原创 STM32学习笔记-如何使用GPIO的外部中断

10、编写外部中断函数具体执行内容,中断函数名在库文件中已经有定义,不要自己编写,可以去startup_stm32f10x_md.s文件中查找,DCD开头的就是,例程是GPIO_PIN14,所以这里选择EXTI15_10_IRQHandler为中断函数名,并在中断函数中调用FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line)确认是否是PIN14的中断;/*获取指定的EXTI_Line标志位是否置1,通过EXTI->PR & EXTI_Line?

2023-11-22 23:26:17 235

原创 STM32学习笔记-如何操作GPIO

*第二个参数,GPIO_Pin1~15, 库函数已经宏定义为0x0001 / 2 / 4 / 8,, 0x0010 / 20 / 40 / 80....0x8000,对应BSRR寄存器的低16个bit写入1,置1操作,实现高电平输出 *//*与GPIO_SetBits类似,结果相反,同样操作GPIOX结构体,实现对BRR寄存器的操作,为清除操作,写入1为清除,,即置0,实现低电平输出*/

2023-11-22 22:36:28 106

updatefile.zip

updatefile.zip

2023-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除