![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
文章平均质量分 70
manhuami2007
这个作者很懒,什么都没留下…
展开
-
在STM32嵌入式中C/C++语言对栈空间的使用
像STM32这样的微控制器在进入main函数之前需要对栈进行初始化。可以说栈是C语言运行时的必要条件。我们知道栈实际上是一块内存空间,那么这块空间都用来存储什么呢?有什么办法能够优化栈空间的使用?原创 2024-07-21 17:05:23 · 337 阅读 · 0 评论 -
在编译固件的时候,如何将函数或者数据编译到指定位置?
在设计微控制器的程序时,有时候希望将一部分函数或者数据放在指定的区域,而不是由编译器自动处理。比如有些STM32包含多个SRAM,这时希望一部分数据放置在RAM2中,而其它的数据存放在RAM1中。或者具有CCM RAM的STM32,为了提高代码的运行速度,想要将代码放在CCM RAM中,而不是Flash中。像这些情况要怎么做呢?原创 2024-06-28 11:25:57 · 484 阅读 · 0 评论 -
STM32在进入main函数之前的准备工作
在大部分嵌入式系统中,在进入main函数之前都需要执行一个系统初始化序列。初始化序列都包含哪些内容呢?原创 2024-06-17 18:30:32 · 253 阅读 · 0 评论 -
STM32使用HAL库UART接收不定长数据-1
使用STM32的HAL库实现UART串口不定长数据的接收。原创 2024-05-30 08:36:54 · 1209 阅读 · 0 评论 -
数组名和指针一样吗
在C语言里经常将数组名当成指针或者将指针当成数组来使用,那么两者到底一样吗?原创 2024-05-17 11:52:13 · 770 阅读 · 1 评论 -
C语言编译的优化等级应该选哪个?O0、O1、O2还是O3
在使用IDE开发STM32程序时,IDE一般都会提供优化等级设置的选项,例如KEIL提供的O0、O1、O2和O3,这些不同的优化等级有什么区别,应该如何选择?原创 2024-04-27 17:07:49 · 1867 阅读 · 0 评论 -
单色屏上是否应该使用专业的GUI库
相比于彩屏,单色屏的驱动更简单,而且需要的硬件资源更少、功耗更低,因此在工业控制领域仍然很常见。说到在屏幕上的显示,很多人都会想到GUI库(比如LVGL、emWin等),那么在自己的项目中需要在单色屏上使用GUI吗?原创 2024-03-04 14:47:20 · 475 阅读 · 1 评论 -
STM32的异常和中断的区别
在学习STM32的中断时,总是能够看到两个单词:异常(exception)和中断(Interrupt)。这两者有什么区别呢?原创 2022-04-22 15:16:31 · 646 阅读 · 0 评论 -
STM32使用HAL库,通过轮询方式简单实现变长数据的接收
使用stm32的hal库,不需要额外的中断和外设,实现串口对变长数据的接收。原创 2022-03-28 09:10:10 · 798 阅读 · 0 评论 -
STM32的中断的管理
stm32的中断是接收双重管理的:外设自身寄存器对中断的管理NVIC(嵌套式中断管理器)的管理比如外部中断,即需要配置EXTI寄存器,有需要配置NVIC寄存器。外设自身寄存器对中断的管理外设自身对中断的管理包括2项内容:中断使能挂起位查询NVIC对中断的管理NVIC对中断的管理包括3项内容:中断的使能挂起位查询优先级管理可以看到两处管理都包含中断的使能和挂起位查询,那么这两个地方有什么不一样呢?两处管理的不同两处管理的意义和层级并不一样,举个不太恰当的例子:大臣写了原创 2021-03-16 11:04:52 · 605 阅读 · 4 评论 -
STM32的LL库中LL_GPIO_MODE_INPUT与LL_GPIO_MODE_FLOATING的区别
STM32的LL库是ST公司推出的以提高运行效率,而且又兼具一定的易读性的库函数。在GPIO初始化时,使用LL_GPIO_SetPinMode() 函数设置某引脚为输入模式时,有两个类型都是设置为输入模式的:LL_GPIO_MODE_INPUT与LL_GPIO_MODE_FLOATING。那么这两个有什么区别呢?通过仿真读取相应端口的CR寄存器得到:使用LL_GPIO_MODE_INPUT时,CNF[1.0]被设置为0b10使用LL_GPIO_MODE_FLOATING时,CNF[1.0]被设置原创 2021-03-09 16:02:57 · 3889 阅读 · 0 评论