STM32F103C8T6是基于RISC架构的STM32F103x8系列中端微控制器单元之一。作为STMicroelectronics STM发现板的替代品,集成的Blue Pill开发板作为低成本开发板推出。Blue Pill的价格在2-3美元左右。
STM32F103C8T6微控制器带有GPIO引脚、处理器、内存、USB端口、模数转换器和其它外设。此外,它还具有72MHz惊人速度和卓越能效的ARM Cortex内核。
在本文中,将对STM32F103C8T6 Blue Pill开发板进行简单介绍,主要包括特性、规格、引脚配置、GPIO引脚和外设及应用等内容。
STM32F103C8T6 Blue Pill开发板包含一个32位Cortex-M3 RISC ARM内核,内部振荡器为4 -16MHz,它是一种CMOS闪存技术芯片。该芯片有37个GPIO引脚和10个模拟引脚。
STM32F103C8T6有一些现代通信接口,例如CAN和USB端口。由于它在非常低的电压下运行,因此外围设备可以对电路板进行出色的控制,因此适用于低功率应用。它还带有一个集成看门狗和一个窗口看门狗定时器,用于正确执行指令。
| 功能和外围设备 | 可用性 |
|---|---|
| 构架 | 精简指令集 |
| 针数 | 47 |
| 静态随机存取存储器 | 20KB |
| 串口线调试 | 1个 |
| 闪存 | 64/128千字节 |
| 处理器速度 | 72 兆赫(最大) |
| USB连接器 | Micro |
| 模数转换器 | 2个 |
| 定时器数量 | 7个 |
| 通讯接口 | 9个 |
| USB模块 | 支持 |
| I2C | 2个 |
| SPI | 2个 |
| 工作温度 | -40摄氏度~+105摄氏度 |
| 源/灌电流 | 6毫安 |
| 工作电压 | 2.0V–3.6V |
| 串口模块 | 3个 |
| 内部振荡器 | 4-16兆赫 |
| 窗口看门狗定时器 (WWDT) | 支持 |
| JTAG调试接口 | 1个 |
下图显示了STM32F103C8T6 Blue Pill开发板的引脚排列:
引脚配置说明如下:
| 类型 | 引脚名称 | 功能描述 |
|---|---|---|
| 电源 |
– 3.3伏
– 5伏
– GND
|
1. 工作输出电压
2. USB或5V外部电源引脚供电
3. 接地引脚
|
| 模拟引脚 | PA0-PA7, PB0-PB1 | 10、12位分辨率ADC引脚 |
| 输入/输出引脚 | PA0-PA15, PB0-PB15, PC13-PC15 | 37个通用I/O引脚 |
| 外部中断 | PA0-PA15, PB0-PB15, PC13-PC15 | 中断引脚 |
| 脉宽调制 | PA0-PA3, PA6-PA10, PB0-PB1, PB6-PB9 | 15个脉冲宽度调制引脚 |
|
串行通信(UART) |
TX1, RX1, TX2, RX2, TX3, RX3 | RTS、CTS USART引脚 |
| SPI | MISO0, MOSI0, SCK0, MISO1, MOSI1, SCK1, CS0 | 2个串行外设接口引脚 |
| CAN | CAN0TX, CAN0RX | 控制器区域网络总线引脚 |
| I2C | SCL1, SCL2, SDA1, SD2 | 内部集成电路串行数据和时钟引脚 |
| 内置发光二极管 | PC13 | LED指示 |
目前有两种方法可以对STM32F103C8T6开发板进行编程。通过使用以下方法:
虽然有许多编译器选项和IDE可用于将程序和闪存代码写入STM32F10C8T6 Blue Pill。但这是两个最受欢迎且易于使用的编译器。
另外,Kiel/CubeMX和STLink的软件也用于编译和上传程序。这是通过单线调试接口完成的,该接口专为ARM内核设计,用于传输和内存访问。
开发环境
该MCU与Arduino软件兼容,它可以使用Arduino编译器进行编程。Arduino使用两个编译器,即avr-g++和arm-none-eabi-g++。代码可以通过外部USB使用UART1引脚烧录到MCU上。
要通过Arduino软件对STM32F10C8T6进行编程,必须从软件提供的板卡菜单中选择所需的板卡。然后为开发板下载合适的文件以进行高效编程。Arduino的示例草图,例如Blink可以上传到MCU,因为开发具有集成LED。
STM32F103C8T6是一款32位的ARM Cortex-M3内核微控制器,具有以下主要优点:
高性能:工作频率高达72MHz,具有高性能的计算和浮点运算能力,适用于实时应用和计算密集型应用。
丰富的外设:内置多个外设,如多达39个GPIO,UART,SPI,I2C,定时器,PWM等,可以适应不同的应用场景。
低功耗:内置了多种低功耗模式,包括待机、休眠、停机等,可以有效延长电池寿命,适用于低功耗应用场景。
丰富的软件支持:采用ARM Cortex-M3内核,支持多种开发工具和软件包,如Keil,IAR,CubeMX等,开发效率高。
成本效益高:成本效益高,能够更好地满足经济实惠的应用需求,可广泛应用于许多领域,如智能家居、物联网、嵌入式系统等。
STM32F103C8T6有两种封装,即LQFP48、UFQFPN48。下图显示了UFQFPN48的二维模型,它向我们展示了设计PCB卡时所需组件的物理尺寸:
STM32F103C8T6和STM32F103ZET6的区别?
STM32F103C8T6和STM32F103ZET6都是ST公司生产的32位ARM Cortex-M3内核微控制器,主要区别如下:
STM32F103C8T6和 STM32F103RCT6 都是ST公司生产的32位ARM Cortex-M3内核微控制器,两者主要区别如下:
尺寸不同: STM32F103C8T6的尺寸为7 x 7 mm,而STM32F103RCT6的尺寸为11 x 11 mm。因此,STM32F103C8T6更加紧凑,适用于特别小的项目。
Flash 存储器量不同: STM32F103C8T6的Flash存储器为64 KB,而STM32F103RCT6的Flash存储器为256 KB。因此,STM32F103RCT6可以存储更多的代码和数据,因此适用于更复杂和计算密集型的项目。
ADC通道不同: STM32F103C8T6有一个12位ADC,而STM32F103RCT6有两个12位ADC。这增加了STM32F103RCT6对多输入信号的处理能力。
定时器数量不同: STM32F103C8T6有三个基本定时器和一个高级定时器,而STM32F103RCT6有三个基本定时器和两个高级定时器。因此,STM32F103RCT6可以更好地实现高级定时器功能,以满足更复杂的应用程序需求。
STM32F103C8T6和STM32F103C6T6都是32位ARM Cortex-M3内核微控制器,两者主要区别如下:
Flash存储器大小不同:STM32F103C8T6的Flash存储器为64KB,而STM32F103C6T6的存储器为32KB。因此,前者可以存储更多的代码和数据,更适合处理需要大量存储的复杂应用程序。
RAM 存储器大小不同:STM32F103C8T6具有20KB的RAM存储器,而STM32F103C6T6具有10KB的RAM存储器。因此,前者可以处理更大、更复杂的数据集,更适合需要大量RAM存储器的应用程序。
封装不同:STM32F103C8T6采用LQFP48封装,而STM32F103C6T6采用LQFP48、LQFP64和LQFP100封装,前者更适合空间受限的应用程序。
ADC 通道不同:STM32F103C8T6有一个ADC,而STM32F103C6T6有两个ADC通道。前者适用于只有一个模拟输入信号的简单应用程序,而后者可以处理多个模拟输入信号。
STM32F103C8T6和STM32F103VET6都是ST公司生产的32位ARM Cortex-M3内核微控制器,两者主要区别如下:
Flash存储器和RAM存储器大小不同:STM32F103C8T6具有64KB的Flash存储器和20KB的RAM存储器,而STM32F103VET6具有512KB的Flash存储器和64KB的RAM存储器。因此,前者适用于低端应用程序,而后者适用于需要处理大型数据集或多任务的高端应用程序。
封装不同:STM32F103C8T6采用LQFP48封装,而STM32F103VET6则采用LQFP100封装,前者更适合空间受限的应用程序,后者则提供更多的GPIO和总线接口,适合复杂控制任务。
ADC通道数量不同:STM32F103C8T6具有一个ADC通道,而STM32F103VET6具有24个ADC通道。因此,前者适用于只有一个模拟输入信号的简单应用程序,而后者可以处理多达24个模拟输入信号。
价格不同:由于差异,STM32F103VET6的价格要高于STM32F103C8T6。