1 STM32片内自带SRAM和FLASH,FLASH是用来存储程序的,SRAM是用来存储程序运行中的中间变量,通常不同型号的STM32的SRAM和FLASH大小是不相同的,以我手边的STM32F103VET6来看,根据数据手册可以看到
FLASH存储器又成为闪存,它与EEPROM都是掉电后数据不丢失的存储器,但是FLASH得存储容量都普遍的大于EEPROM,,在存储控制上,最主要的区别是FLASH芯片只能一大片一大片地擦除,而EEPROM可以单个字节擦除。
2 SRAM是静态随机存取存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。STM32F1系列可以通过FSMC外设来拓展SRAM。
注意:SRAM和SDRAM是不相同的,SDRAM是同步动态随机存储器,同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。STM32的F1系列是不支持SDRAM的。
关键字:STM32 SRAM FLASH
引用地址:
STM32的SRAM和FLASH--概述
推荐阅读最新更新时间:2024-03-16 15:36
STM32学习日志——内部温度传感器实验
一、内部温度传感器简介 STM32有一个内部温度传感器,与ADCx的通道16相连,主要用来测量CPU及周围的温度,推荐采样时间为17us,测量温度范围为-40至125度,精度较差,可能有正负1.5度的误差,更适合用来检测温度的变化,因为它的温度差值还是比较准确的。 二、配置函数 1)设置ADC,开启内部温度传感器,与上一讲类似; 2)读取ADC值,读取平均值,也与上一讲类似; 3)根据得到的ADC值转换成温度值;公式如下: T(℃)={(V25-Vsense)/Avg_Slope}+25 其中:V25=Vsense 在 25 度时的数值(典型值为:1.43)。 Avg_Slope=温度与 Vsense 曲线的平均斜率(单位
[单片机]
STM32—驱动DHT11数字温湿度传感器
DHT11模块简介 DHT11数字温湿度传感器,用来测量环境的温度和湿度,而且传输的数据是数字信号,这与DS18B20传输的模拟采集的数据不一样,相比DS18B20而言DHT11的数据采集的处理更加精确,而且驱动也更加方便。 DHT11传感器包括一个电阻式测湿元件和一个NTC测温元件,而且传感器中嵌入一个8位单片机。传感元件测量到数据后经过内嵌MCU处理后,能够直接输出处理好的数据。 DHT11与单片机之间采用单总线通信,只需要初始化一个I/O口即可实现温湿度的实时测量。 其相关参数如下: DHT11数据传输 DHT11数据传输是单总线通信方式,即通过一个IO口完成数据的双向输入输出,DHT11每一次向单片机传输数据是
[单片机]
详解STM32的PWM输出及频率和脉宽(占空比)的计算
一、stm32的pwm输出引脚是使用的IO口的复用功能。 二、T2~T5这4个通用定时器均可输出4路PWM——CH1~CH4。 三、我们以tim3的CH1路pwm输出为例来进行图文讲解(其它类似),并在最后给出tim3的ch1和ch2两路pwm输出的c代码(已在STM32F103RBT6上测试成功,大家放心使用!)。 四、给出了PWM频率和占空比的计算公式。 步骤如下: 1、使能TIM3时钟 RCC- APB1ENR |= 1 1; 2、配置对应引脚(PA6)的复用输出功能 GPIOA- CRL &= 0XF0FFFFFF;//PA6清0 GPIOA- CRL |= 0X0B000000;//复用功能输出(推挽50MHz
[单片机]
STM32的磁导航自主导引车通用驱动器设计
引言 AGV系统在当前柔性制造系统(FMS)和自动化仓储系统中扮演着重要的角色。AGV具有适应性好、柔性程度高、可靠性好、可实现生产和搬运功能的集成化和自动化等优点 。 AGV的导航方式主要有激光导航、电磁导航、视觉导航、GPS(全球定位系统)导航、磁导航等,本文主要针对磁导航方式的AGV进行深入探讨,磁导航AGV主要是基于磁导航传感器感应贴在路面上的磁条进行路径跟踪并完成其自主行驶的功能。 磁导航传感器通过检测铺设在地面上的磁条来判断AGV与目标路径的偏差,然后输出电压模拟量 。对于磁导航AGV驱动器的设计,为更好地满足通用性需求,需要对现有驱动器的组成单元进行总结和归纳,并且结合实际需求,找出共同点和不同点,为磁导
[单片机]
基于STM32和CAN总线的电动车电池管理系统设计
随着电池能源的广泛应用,石油资源的枯竭和环境污染,电动汽车以其节能环保的优势引起越来越多的重视,在电动汽车的研究和发展上,车载电池及其管理系统的研究与制造占据着重要位置。电动汽车动力电池在应用中的主要问题表现在:生产过程中,电池的工艺,技术以及成组技术还不能保证其初始性能具有良好的一致性;使用过程中,对过充电、过放电、过温度、过电流等非常敏感,这类情况的发生会明显缩短电池寿命,甚至会导致电池报废。电池组是几十个甚至上百个单体电池串联,单体电池之间存在不一致性,随着连续的充放电循环,电池间的不一致性加剧,电池组的可用容量受容量最小的单体电池制约。对于这些情况,电池的初始性能必须要依靠企业生产工艺的优化,生产过程关键参数的控制来改
[电源管理]
STM32通过串口向外部FLASH(W25X16)写入字库
系统中使用过多的汉字会出现芯片容量不够用的问题,可将数据存储在外部FLASH中,在需要使用时进行调用即可。本文是通过STM32串口1实现对W25X16的汉字字库存储。软件层面,配置串口1和SPI1即可,程序初始化后,在对W25X16进行写之前,必须先擦除,可以一个字节、一页、一扇区、一块以及整片擦除。写字库前,我们用整片擦除方式,如下: 整个程序中,关键在于串口接收中断函数的编写,如下: u32 WriteAddress=0; void USART1_IRQHandler(void) { u8 Res; if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET) {
[单片机]
STM32之定时器中断控制LED闪烁
上篇博客我们是用延时函数实现了LED的闪烁,今天我们使用STM32的定时器来使LED闪烁。 关于32的定时器的种类,今天我在这先不做过多的说明,有时间我会再另写一篇博客来专门介绍32的定时器。今天我们使用32的定时器3来产生中断,以实现LED的闪烁。 今天我们需要配置的有LED和定时器,首先来配置LED,我们还是使用正点原子精英版开发板上的DS0来进行实验 配置LED的过程还是和上篇博客中点亮LED的方法一样,我就不再过多的说明,只贴下代码 led.c文件如下 #include led.h void led_init(void) { GPIO_InitTypeDef GPIO_InitStructure
[单片机]
ch32可以用hal库吗
ch32是什么? 首先,我们需要了解ch32是什么。 ch32是一款基于Cortex-M0内核的单片机,由GD32公司(中国制造)生产。它提供了许多通用外设(通用串行总线、通用定时器、通用异步收发器等),使得它成为开发嵌入式系统的理想选择。 Hal库是什么? STM32 HAL库(即硬件抽象层库)是STM32固件库(PLIB)的继任者。 HAL库是一组C代码,用于为STM32微控制器提供一个高层次的、通用的软件接口。这个软件接口把开发人员与硬件之间的交互抽象化,从而使得他们可以方便地编写不同的应用程序,而不必去关注底层硬件细节。 ch32和HAL库的兼容性? 虽然原则上来说,ch32与STM32微控制器不同,但由于它们都遵循ARM
[单片机]