【STM32】Rover核心-STM32F103RCT6简介
主控芯片:STM32F103RCT6
STM32F103RCT6 是 STMicroelectronics 生产的高性能 32 位微控制器,属于 Cortex-M3 内核的 STM32F1 系列,广泛应用于嵌入式系统和工业控制等领域。
主要特点:
-
主频:72 MHz Cortex-M3 内核,运算速度快,适用于实时控制任务。
-
内存:
- Flash:256 KB,适合存储应用程序和固件代码。
- SRAM:48 KB,可用作数据存储和堆栈,满足中小型应用的需求。
-
外设丰富:
- GPIO:支持多达51个通用输入输出端口,用于外部设备的连接和控制。
- USART:内置5个串口,可以轻松实现与其他设备的串行通信。
- I2C 和 SPI:支持多种通信协议,方便连接传感器、显示屏等外设。
- ADC:12位的模数转换器,支持16个通道,适用于传感器数据采集。
- 定时器(TIM):具有多个16位和32位定时器,支持PWM输出,方便控制电机和实现其他定时任务。
-
低功耗模式:支持休眠、停止、待机模式,适用于低功耗应用场景。
STM32F103RCT6 -PDF数据手册-参考资料-立创商城
这是stm32f103rct6的芯片手册,也就是芯片的说明书,关于芯片外围电路的设计,都可以在里面找到答案。
STM32产品命名规则如下:
我们可知rct6有64个引脚,十个电源引脚,一个复位引脚,两个时钟引脚,两个BOOT引脚,所以有49个引脚可以给我们使用,但是每个引脚都有其特定的功能,我们需要配置其相关的寄存器便可以使用其功能,但是我们也可以使用软件模拟,举个例子,我们想要一个PWM波,我们需要配置定时器来输出PWM,当然我们也可以软件模拟,在软件里我们给引脚有规律地手动翻转电平不就得到了一个PWM嘛,再比如I2C有软件I2C和引脚I2C。软件和硬件在嵌入式开发中是互补的,两者各有优势,通过合理的结合和取舍,开发者可以在性能、灵活性、资源利用等方面找到最佳平衡。硬件简单了软件就复杂了,软件简单了硬件就要复杂了,以下是自己根据芯片手册做的STM32F103RCT6引脚定义表
在这一系列教程中,我们将围绕Rover项目,逐步讲解STM32F103RCT6微控制器的各种外设功能及其应用。从GPIO、定时器(TIM)、DMA、串口通信(USART)、I2C到SPI,每个外设的使用方法和背后的硬件原理都将详细介绍,并结合具体的项目模块进行演示。单片机开发中,通常有三种不同的开发方式或编程风格:寄存器、标准库(Standard Peripheral Library, SPL)和硬件抽象层(Hardware Abstraction Layer, HAL)库。使用寄存器这是最底层的开发方式,直接操作单片机的硬件寄存器。STM32的标准外设库是官方提供的一个相对简化寄存器操作的中间层。我们通常使用CubeMX结合Keil来进行HAL库的开发。总结来说,开发难度依次为:寄存器 > 标准库 > HAL库。掌握了寄存器开发的开发者,通常也能够使用标准库和HAL库进行开发;而会使用标准库的开发者,同样可以很快上手HAL库。因此,在本系列教程中,我们将主要以标准库和HAL库作为开发方式,帮助大家更好地进行嵌入式项目的实现。
本系列内容是我个人在学习STM32过程中积累的经验与总结,旨在与大家分享我的学习心得。然而,限于个人水平,难免会有疏漏或不足之处。在此,诚挚地希望各位读者能多多提出宝贵意见和建议,帮助我不断完善和提升。非常感谢大家的支持与包容!
作者:A-pezer