
STM32
STM32
redeemer奇
憧憬是动力的源泉!坚持是成功的基石!
愿行走半生,归来仍是少年!
展开
-
STM32的内存分配
使用keil编写代码,局部变量和全局变量分别存放在什么地方?stm321、局部变量和全局变量1.1、局部变量在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的,这称为局部变量。使用局部变量注意以下问题:不同函数中可以使用相同名字的变量,它们代表不同的对象,互不干扰。形式参数也是局部变量。局部变量的作用域在函数内部。1.2、全局变量在函数内部定义的变量是局部变量,而在函数之外定义的变量称为外部变量,也就是全局变原创 2020-10-09 08:58:42 · 1389 阅读 · 0 评论 -
【STM32学习笔记】技巧2 - STM32的复位类型及区别
最近在项目的时候需要判别STM32的复位类型,网上这部分资料也有许多大神进行总结。但是感觉不是特别深入,因此,小编参考参考了STM32的参考手册进行详细总结了一下。1、STM32的三种复位类型分别为系统复位、电源复位和备份域复位。每一种型号的STM32都包含有这三种复位类型!1.1、系统复位除了时钟控制寄存器 CSR 中的复位标志和备份域中的寄存器外,系统复位会将其它全部寄存器都复位为复位值,只要发生以下事件之一,就会产生系统复位:NRST 引脚低电平(外部复位)窗口看门狗计数结束( WWD原创 2020-09-07 11:12:26 · 7287 阅读 · 0 评论 -
STM32的串口由BOOT跳转到APP后不能正常使用的解决方案
1、STM32的串口由BOOT跳转到APP后不能正常使用的问题描述最近小编在公司的STM32项目中需要用到RS485和WIFI,全部都是跟串口打交道。在测试的过程中发现:BOOT程序单独运行正常,APP程序单独运行正常,但是,只要程序在运行IAP功能的时候,即程序由BOOT跳转到APP后,APP代码中STM32的GPIO口可以正常运行,但是串口会莫名其妙卡死,经过debug后发现,只要串口发送数据,就会卡死在while(USART_GetFlagStatus)函数中,卡死地方的代码如下:for(j=0原创 2020-09-03 17:44:01 · 3751 阅读 · 0 评论 -
【STM32学习笔记】技巧1 -更换外部8M晶振的频率如何修改程序?
绪论STM32系列的单片机,从L0到L4,从F1到F4系列,标准库和HAL库默认使用的外部晶振统一为8M。但是在实际应用中可能由于某些特殊情况,会使用其他频率的外部晶振,比如12M、16M、24M等等。比如,目前小编在参与一款毫米波雷达的研究,为了节约BOM成本,更大程度的降低EMC干扰。公司决定将STM32芯片的晶振和毫米波雷达芯片的晶振,合并成一个晶振。由于毫米波雷达的晶振必须为24M,因此STM32芯片的晶振也要使用24M。代码中需要做如下修改:1、标准库的修改方法只需下述两步即可!(1)原创 2020-08-25 09:57:59 · 3308 阅读 · 1 评论 -
【STM32学习笔记】系列1 - 系统时钟原理(通俗易懂)
一、单片机中的系统时钟有多重要?系统时钟就好比人的心脏,芯片没有时钟就是一块废料。51单片机不需要配置时钟,因为一个时钟管理所有的功能资源。STM32单片机低功耗的原因之一在于时钟。每个功能资源、每个引脚都有一个时钟,用到什么功能,开启什么功能的时钟即可。就好比学校宿舍的公共浴室好多水龙头,我去洗澡,使用一个就行。全部打开?疯了吧(土豪随意,不过也要节约水资源)。芯片时钟走向:时钟...原创 2019-01-09 16:50:36 · 4996 阅读 · 1 评论