好的,我们来详细对比一下 STM32F401 和 STM32F103 这两款非常流行的 STM32 微控制器系列,用中文说明它们的核心区别和适用场景。
核心总结:
- STM32F103: 基于 ARM Cortex-M3 内核的经典入门级/主流系列。性能适中,外设丰富,生态成熟,资料海量,性价比高。是 STM32 家族的开疆元老之一。
- STM32F401: 基于 ARM Cortex-M4 内核(带硬件单精度浮点单元 FPU)的系列。性能更强(尤其数字信号处理),外设更先进(如高速 ADC、更快的通信接口),功耗更低(得益于更先进的工艺和架构),是 F1 系列的升级换代选择之一。
详细对比:
-
内核与性能:
- F103: Cortex-M3 内核。最高主频通常为 72 MHz。没有硬件 FPU,浮点运算靠软件模拟,速度慢。
- F401: Cortex-M4 内核(带 FPU)。最高主频 84 MHz。有硬件单精度 FPU,执行浮点运算和 DSP 指令(如 MAC)速度快得多(通常数倍到数十倍)。整体 CPU 性能(Dhrystone MIPS)也高于 F103。
-
外设资源:
- ADC:
- F103:通常 12 位 ADC,采样率较低(如 1Msps)。
- F401:通常 12 位 ADC,但采样率更高(如 2.4Msps),性能更好。
- 通信接口 (USART, SPI, I2C):
- F103:标准外设,速度受限(如 SPI 通常最高 18 Mbps)。
- F401:外设速度普遍更快(如 SPI 可达 42 Mbps,I2C 可达 1 Mbps)。支持更多高级特性。
- 定时器:
- F103:提供基本、通用、高级定时器。
- F401:定时器功能更强大,高级定时器(TIM1, TIM8)特性更丰富,部分型号可能包含高分辨率定时器 (HRTIM)。
- USB:
- F103:通常只有 USB FS (全速,12 Mbps)。
- F401:通常支持 USB OTG FS (全速),部分型号可能支持 HS (高速,480 Mbps,需外接 PHY)。
- 其他: F401 通常提供更灵活的时钟树、更先进的电源管理特性。
- ADC:
-
存储:
- Flash: 两者都有多种容量可选(如 64KB, 128KB, 256KB, 512KB)。具体看型号后缀。
- RAM:
- F103:SRAM 容量相对较小(如 20KB, 48KB, 64KB)。
- F401:SRAM 容量通常更大(如 64KB, 96KB, 128KB),对于运行复杂应用或使用 RTOS 更有利。
-
功耗:
- F401: 得益于 90nm 工艺 和更先进的低功耗模式设计,在运行模式、停止模式、待机模式下的功耗通常显著低于 F103 (110nm 工艺)。这对电池供电应用至关重要。
-
开发与生态:
- F103: 资料极其丰富,教程、书籍、示例代码、社区问答海量。是学习 STM32 和嵌入式开发的经典平台。主要使用标准外设库 (SPL) 或 HAL 库。
- F401: 资料也非常丰富,但相对 F103 的“泛滥”程度稍逊。推荐使用 STM32CubeMX 和 HAL/LL 库,开发更现代化、更高效。生态同样成熟。
-
价格:
- 在相同封装和存储容量下,F401 通常比 F103 稍贵一些,但考虑到其性能、功耗和外设的提升,性价比依然很高。具体价格需查询分销商实时报价。
如何选择?
-
选择 STM32F103 如果:
- 项目对性能要求不高(不需要复杂计算或浮点运算)。
- 成本非常敏感。
- 需要利用现有的、成熟的基于 F1 的设计或代码库。
- 项目复杂度低,小容量 SRAM 足够。
- 对功耗要求不苛刻。
- 作为学习入门 STM32 的首选(资料最多)。
-
选择 STM32F401 如果:
- 需要更高的 CPU 性能,特别是涉及浮点运算、 数字信号处理 (DSP)、电机控制、音频处理等(FPU 优势巨大)。
- 需要更快的通信速度(SPI, I2C, ADC)。
- 需要更大的 RAM 来运行更复杂的应用或 RTOS。
- 项目对功耗有严格要求(电池供电设备)。
- 需要更先进的 USB 功能(如 OTG)。
- 愿意使用更现代的 STM32Cube 工具链进行开发。
- 作为 F103 的升级换代,以获得更好的性能和功耗。
重要提示:
- 以上对比是基于两个系列的典型特征。具体型号(如 STM32F103C8T6 vs STM32F401CCU6)在封装、引脚数、Flash/RAM 大小、外设具体配置上会有差异,务必查阅对应型号的数据手册 (Datasheet) 和参考手册 (Reference Manual) 获取最准确信息。
- STM32F401 属于 STM32F4 系列,是 ST 主推产品线,代表了比 F1 系列更新的技术和更长的生命周期预期。
总而言之,STM32F401 在性能(尤其带 FPU)、外设速度、功耗和内存方面全面优于 STM32F103,是更优的选择,尤其在新设计中。而 STM32F103 凭借其经典地位、极低的成本和海量资源,在简单应用、成本敏感型项目以及学习场景中仍有其价值。
使用STM32F401的大内存特性
需要使用STM32F401的大内存特性,买了1批STM32F401CCU6. QFN48封装的。随便翻了一下PDF,第一感觉和F103的48脚封装差不太多,于是将F103的板子改了个QFN48的封装
wonick
2021-08-12 07:17:26
使用STM32F401时需注意什么
使用STM32F401时需注意:stm32f401的系统库文件配置的晶振频率为25MHz,在外部使用8MHz的晶振是需对其进行修改,修改内容如下:1、修改stm32f4xx.h中的HSE_VALUE
zh咖啡不加糖
2021-08-12 08:10:18
如何去实现STM32F401的UART串口接收并发送数据呢
如何去实现STM32F401的UART串口接收并发送数据呢?其代码该怎样去实现呢?
kszdj113
2021-12-13 07:40:57
STM32F401的所有定时器都可以作为编码器使用
定时器做编码器STM32F401的所有定时器都可以作为编码器使用(STM32F401在某宝20RMB以内买到的,晶振不同,不知道怎么操作的看我上一篇博文,里面有介绍怎么移植,经过本人验证,目前没有
Jade799153347
2021-09-13 08:49:39
如何解决stm32F401收不到ES7243录音芯片的I2C ACK问题?
如何解决stm32F401收不到ES7243录音芯片的I2C ACK问题?
hjhdf
2022-02-11 06:59:18
STM32F405与STM32F401两个IC的SPI模块有什么区别吗?
当我将相同的代码与带有 SPI1 的 STM32F405 一起使用时,我没有得到正确的结果。相同的代码适用于 STM32F401(SPI2),但不适用于 STM32F405(SPI1)。两个 IC 的 SPI 模块有什么区别吗?
普罗旺斯的薰衣草
2022-12-22 06:59:16
proteus+STM32F401+串口
用proteus8.9 sp2仿真stm32f401的串口时,总是显示不对,通过分析proteus自带的例子发现,单片机只能选择hsi时钟,其他的不可以。
liqijian101
2020-02-07 12:12:46
STM32F103VET6
2024-04-30 10:50:55
STM32F103RCT6
2024-04-30 10:43:57
为什么在STM32F401上使用TIMER1生成的PWM频率不正确呢
我想在 STM32F401 微控制器上使用 TIMER1以~76K Hz 的频率生成 PWM。据我了解,因为定时器 1 的时钟频率为 84 MHz,所以我需要将 ARR 配置为1099。看截图看我
人走了
2022-12-13 08:16:36
如何去缓冲STM32F401上ADC噪声的输入呢
stm32f401 上)2000个样本,10个样本/秒,测量室温约30.5-31摄氏度计数 2000.000000平均 30.930100标准 4.062343最少 3.670000中位数 30.810000最大
双11
2022-12-26 07:10:38
STM32F401上的同步定时器是如何工作的?
嘿伙计!对 STM32F401 上的同步定时器有一些疑问,目的是让两个定时器一起启动,其中一个定时器的周期是另一个定时器的整数倍。我已经得到了我需要的工作,但它是如何工作的,并没有加起来。这是“简短
duke刘
2023-01-05 08:00:31
怎样使用STM32F103和STM32F401CCU6进行ADC采样
使用STM32F103和STM32F401CCU6对双轴摇杆(两个电压通道)进行ADC采样并通过DMA读取数值STM32 ADC(模数转换)工作模式单次转换模式In Single
小芳
2021-12-13 06:19:44
STM32F401标准固件库是如何配置的
1.开发环境KEIL:MDK V5.21 配置方式参考正点原子官方提供固件库版本:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0MCU:STM32F401RCT6易出现问题点
wjwierw
2021-08-10 07:30:20
STM32F401CE是否可以通过看门狗复位使 I/O 线保持高电平 (SET)?
我正在使用 STM32F401CE,如果设备由于某种原因锁定,我想使用独立的看门狗来进行重置。我有一个外部芯片,它通过 STM32F401 的 GPIO 和 SPI 进行控制。发生看门狗复位
idskfwier
2023-01-09 06:09:49
用STM32F401和nRF24L01制作无线调速小车 精选资料分享
硬件配置在做这个小项目前, 考察过STM32F103C8T6, STM32F401CCU6和STC89C52这三个MCU, 并实际跑了一些用例STC89C52在代码上要简单得多, 它的问题是没有
deco_89
2021-09-02 06:02:07
NS32F103CBT6软硬件通用STM32F103CBT6
国产MCU单片机新域半导体NS32F103CBT6 替换STM32F103CBT6,目前新域半导体量产的有NSF103系列,新域半导体芯片完全Pin To Pin兼容国外友商STM32F103x和32F03x系列。
2022-02-22 14:00:54
微雪电子STM32F401RE开发板简介
NUCLEO-F401RE STM32F401RET6开发板 板载ST-LINK/V2,支持mbed功能,Arduino扩展 型号 NUCLEO-F401RE
2019-12-26 15:39:53
STM32F401xB和STM32F401xC设备限制
【STM32F401xB,STM32F401xC,STM32F401xD,STM32F401xE,Rev “”】STM32F401xB and STM32F401xC单片机的局限性
kasdlak
2022-11-30 06:58:01
ch32f103和stm32的区别
ch32f103和stm32的区别 STM32 系列是意法半导体公司旗下的 ARM Cortex-M3 和 Cortex-M4 微控制器,系列产品将 MCU 和专用模块集成到单一芯片中,广泛应用
2023-08-22 15:48:42
STM32F103RCT6 一款STM32位微控制器MCU(ST意法)
2023-11-28 15:46:59
ch32v103与stm32f103的区别
ch32v103与stm32f103的区别 Ch32v103与STM32f103是两种不同的芯片,虽然它们都是基于ARM Cortex-M3内核的32位微控制器,但它们在硬件配置、功能、性能等方面
2023-08-22 15:49:00