跳转到主要内容

博客

STM32中引脚复用说明

STM32有许多的内置外设(如串口、ADC、DCA等等),这些外设的外部引脚都是和GPIO复用的。

开发单片机的常见IDE有哪些?

IDE指用于软件开发的工具,通常包含编辑器、编译器、调试器、图形用户界面等集成多种工具的应用程序。

基于STM32分析栈、堆、全局区、常量区、代码区、RAM、ROM

在一个STM32程序代码中,从内存高地址到内存低地址,依次分布着栈区、堆区、全局区(静态区)、常量区、代码区,其中全局区中高地址分布着.bss段,低地址分布着.data段。

STM32定时器时钟以及中间对齐模式

STM32定时器分为高级定时器(TIM1与TIM8)、通用定时器(TIM2-TIM5、TIM9-TIM14)、基本定时器(TIM6、TIM7)。不同的定时器使用不同的时钟。

MCU硬件延时和软件延时有什么区别?

在嵌入式项目中,软件开发基本上都会使用到延时,那么,该用软件延时还是硬件延时?它们又有什么区别呢?

STM32各种时钟的区别

时钟系统是处理器的核心,所以在学习STM32所有外设之前,认真学习时钟系统是必要的,有助于深入理解STM32。

ARM7、ARM9、s3c2410、STM32、Cortex-M3它们之间有什么关联和区别?

自ARMv6架构开始,ARM根据处理器的性能和应用场景把处理器进一步划分为:Cortex-M、 Cortex-R、 Cortex-A三种不同类别的处理器系列。

为何要在MCU内部RAM调试?(基于Keil)

本文基于ST公司Cortex-M内核的STM32来讲述其配置方法,其实也适用于其他公司(如:TI、NXP等)的Cortex-M芯片,原理都是一样的。

单片机GPIO端口是干什么的?

当你需要控制引脚为高电平或低电平时,该功能就是作为GPIO输出功能使用。

STM32定时器配置(TIM1、TIM2、TIM3、TIM4、TIM5、TIM8)高级定时器+普通定时器,定时计数模式下总结

ARM中,有的逻辑寄存器在物理上对应2个寄存器,一个是程序员可以写入或读出的寄存器,称为preload register(预装载寄存器),另一个是程序员看不见的、但在操作中真正起作用的寄存器,称为shadow register(影子寄存器);

STM32外部晶振电路设计和匹配

STM32F103有两种主时钟方案,一个是依靠内部RC振荡器的HSI(内部高速时钟),另一个是HSE(外部高速时钟)。

STM32的内部flash读写操作(含结构体的保存)

Flash中的内容一般用来存储代码和一些定义为const的数据,和一些用户自定义的保存数据,它断电不丢失。

STM32窗口看门狗和独立看门狗的区别

我们使用串口看门狗应该先配置寄存器(WWDG_CFR),即配置窗口值是多少到最小的0x40*T(LSB)(假定T(LSB)为每减一计数所需要的时间),这个配置会告诉单片机什么时候来与递减计数器进行值比较,如果计数值值小于0x40就产生复位。

关于MCU堆空间和栈空间,你了解多少?

单片机应用中,堆栈是个特殊存储区,堆栈属于RAM空间的一部分,堆栈用于函数调用、中断切换时保存和恢复现场数据。

关于flymcu烧录STM32芯片超时的问题解决

有时候使用FlyMcu时,会出现芯片超时无应答,无法连接的情况。

超低功耗MCU如何降低功耗?

低功耗是MCU的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大就会经常出现电量不足的情况。

STM32单片机不同型号之间程序适配

STM32的单片机中,同一系列(如F0、F1、F4)不同型号(拿F1来说,如F103xB、F103xC、F103xE等)的芯片FLASH大小、RAM大小、外设会有所差异,但一般在程序编程的时候,这些芯片之间是可以互换的。

工程师笔记 | 解决RTC意外恢复到初始值问题

客户反馈在使用STM32F446的产品做上电、掉电测试时,RTC会意外恢复到配置的初始值。

干货 | 分享一种串口高效收发思路及方案

本文在探讨传统数据收发不足之后,介绍如何使用带FIFO的串口来减少接收中断次数,通过一种自定义通讯协议格式,给出帧打包方法;之后介绍一种特殊的串口数据发送方法,可在避免使用串口发送中断的情况下,提高系统的响应速度。

干货 | 了解库开发,我们从STM32标准库学起

从STM32新建工程、编译下载程序出发,让新手由浅入深,尽享STM32标准库开发的乐趣。