
STM32
文章平均质量分 84
sinat_36070482
厚积薄发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STM32 定时器产生定周期方法
输入到计数器的时钟为 72 000 000 /(7199 +1) = 1 000HZ。计数器溢出时长生Update中断频率: 10000HZ /(9999+1) =1HZ。计数器、自动装载寄存器和预分频器寄存器可以由软件读写,在计数器运行时仍可以读写。自动装载寄存器是预先装载的,写或读自动重装载寄存器将访问预装载寄存器。位计数器和与其相关的自动装载寄存器。时传送到影子寄存器。的设置,预装载寄存器的内容被立即或在。详细描述每一种配置下更新事件的产生。寄存器中的自动装载预装载使能位。原创 2025-02-18 20:38:19 · 410 阅读 · 0 评论 -
STM32 看门狗
窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口寄存器数值之前,原创 2025-02-18 17:43:14 · 3743 阅读 · 0 评论 -
STM32 低功耗模式
当电压调节器处于低功耗模式下,当系统从停止模式退出时,将会有一段额外的启动延时。如果在停止模式期间保持内部调节器开启,则退出启动时间会缩短,但相应的功耗会增加。通过进入不同的低功耗模式,STM32可以在不同的应用场景下实现最佳的能耗管理。待机模式:CPU停止、外设停止、时钟停止、SRAM也停止,寄存器停止、只有备份寄存器保存。指令进入睡眠模式,则一旦发生唤醒事件时,微处理器都将从睡眠模式退出。的深睡眠模式基础上结合了外设的时钟控制机制,在停止模式下电压。和可用的唤醒源等条件,选定一个最佳的低功耗模式。原创 2025-02-17 22:11:48 · 1528 阅读 · 0 评论 -
STM32 PWM脉冲宽度调制介绍
在STM32中,预分频器(Prescaler)用于对输入时钟信号进行分频,从而降低定时器计数器的计数频率。具体来说,当定时器的预分频器寄存器(TIMx_PSC)中的值为N时,输入时钟信号要经过N + 1个时钟周期,定时器计数器才会加1。因此,为了确保在计数到最后一个值时产生中断,需要将设定的值减1,这样计数器就可以在达到这个减1后的值时产生中断。如果我们想要产生定周期为100HZ的PWM,我们可以设置为TIMx预分频后的频率/(Init中的3表示的时TIMx定时器中的Channel3的意思。原创 2025-02-17 02:37:56 · 1052 阅读 · 0 评论 -
STM32 外部中断和NVIC嵌套中断向量控制器
中断线是STM32微控制器中用于检测外部或内部事件(如定时器溢出、按键输入、串口数据到达等)的信号线。当这些事件发生时,中断线会向中断控制器发送中断请求,中断控制器根据优先级管理机制决定是否响应该请求。如果响应,则会暂停当前执行的程序,转而执行相应的中断服务程序(ISR),处理完中断后再返回到原来的程序继续执行12。原创 2025-02-16 17:45:40 · 1275 阅读 · 0 评论 -
STM32 如何使用DMA和获取ADC
DMA是一种计算机技术,允许某些硬件子系统直接访问系统内存,而不需要中央处理器(CPU)的介入,从而减轻CPU的负担。因此只需将JS_X和JS_Y的端口设置位模拟量输入端,然后由STM32单片机的ADC块处理。ADC是根据用户动作或者环境变化会造成传感器等设备的电压值发生变化,再通过STM32的ADC块实现采样、保持、量化、编码将模拟量转换成数据量。而按下的操作显然是普通的Port Key, 因此只用将JS_D设置位上拉输入,然后通过读取该端口的状态,来判断是否摇杆被按下。原创 2025-02-15 03:44:09 · 972 阅读 · 0 评论 -
STM32 ADC介绍(硬件原理篇)
在数字系统的广泛应用中,用数字系统处理模拟量的情况十分普遍,因此引入了模拟信号和数字信号的接口问题。为了解决这一问题,首先利用模数转换电路把模拟信号转成数字信号。(数字信号经过处理之后,也可以通过数模转换电路将模拟信号转换回模拟信号)。单片机开发当中,ADC是经常要到的外设。通过本篇文章对ADC硬件部分进行原理说明。原创 2025-02-14 22:46:29 · 1201 阅读 · 0 评论 -
STM32 I2C通信协议说明
从机 发送器必须释放数据线,允许主机产生一个停止或重复起始条件。原创 2025-02-13 18:39:17 · 1767 阅读 · 0 评论 -
STM 32 IO模拟两线串行接口
我们在单片机开发过程中,经常需要通过IO口来模拟通信接口(I2C、两线串行接口).通过本篇文章,IO模拟两线串行接口,举一反三,来达到模拟其他通信接口的能力。(发光二极管显示器)驱动控制专用电路。2)DIN 先拉低,SCLK再拉低,表示数据开始发送。3)在SCLK 为低电平的时候,DIN信号才可以改变。5)当8位数据传完之后,SCLK和DIN都保持为低。6)SCLK为高,DIN由低变高说明传输数据结束。1)空闲的时候,DIN和SCLK 都为高。4)DIN 写入数据之后,SCLK要拉高。原创 2025-02-12 22:29:42 · 247 阅读 · 0 评论 -
STM32 RCC功能说明 复位和时钟控制RCC
开发板是使用8M的HSE晶振再进行8倍频作为系统时钟源。配置系统时钟(即MCU主频)和三个总线时钟的时候,需要根据stm32数据手册中的时钟树来进行配置。HSE的频率为8MHZ,通过PLLMUL 八倍倍频之后就可以达到SYSCLK 70MHZ的意图!在本篇文章会对stm32(STM32F103C8T6)的时钟系统进行配置。2)CPU和各种总线(AHB、APB1、APB2)的频率。APB1(PCLK1)的时钟频率是72/2=36MHZ。实现箭头部分,属于分配主频(SYSCLK)1)设置单片机的时钟输入源。原创 2025-02-12 17:01:18 · 565 阅读 · 0 评论 -
STM32 RTC 实时时钟说明
STM32单片机内部集成了一个40KHZ的RC振荡器,内部RC振荡器会会因为温度产生漂移,精度不够高,因此使用32.768HZ的LSE作为RTC的时钟源。RTC备用电池,在单片机主电源断开的时候,给RTC时钟供电,也可以用于保存备用存储器中的数据(计时器的时间值,以及用户临时存放的数据),备用寄存器 20字节保存用户数据。通过使能或失能PWR的时钟,可以控制电源管理功能的工作状态,进而影响整个系统的功耗管理。实时时钟具有一组连续运行的计数器,可以通过适当的软件提供日历时钟功能,还具有闹钟中断和。原创 2025-02-12 15:45:55 · 1693 阅读 · 0 评论 -
STM32_USART通用同步/异步收发器
推挽输出模式的工作原理基于两个互补的晶体管(通常是MOSFET或双极型晶体管)来控制输出电平。当输出信号为高电平时,一个晶体管导通,将输出端拉向高电平;当输出信号为低电平时,另一个晶体管导通,将输出端拉向低电平。在这种模式下,引脚在输出低电平时形成低阻抗,输出高电平时形成高阻抗,可以驱动外部电路。这种模式下,引脚对外表现为高阻抗,可以检测到微弱的信号变化。需要注意的是,在初始化USART时,即使没有发送任何数据,标志也会被设置,因为此时发送数据寄存器是空的12。中写入下一个要发送的数据。原创 2025-02-11 22:00:48 · 887 阅读 · 0 评论 -
STM32 如何将printf函数和串口函数重定向
是一个预处理指令,用于告诉编译器不要使用半主机(semihosting)功能。半主机是一种调试功能,主要用于嵌入式系统中与调试器进行通信,例如在开发板上显示调试信息、读写文件等。然而,使用半主机功能可能会增加代码的大小和复杂性,因此不适用于生产环境。,从而减少调试代码对可执行文件大小的影响。这有助于优化生产代码,去除调试相关的功能并减小代码的体积。1)介绍了清除TC标志的方法,包括读SR寄存器并写入DR寄存器或直接赋值0。2)复位时,USART_SR寄存器的值为0x00C0,其中TC位在位6,原创 2025-02-11 21:13:05 · 447 阅读 · 0 评论