当他们开始使用电子产品时,Arduino开发板是许多人接触的第一块电路板。但是当我们更深入了解Arduino之后,发现它并不是工业级开发板,其8位CPU具有非常慢的时钟,可能不适合更高级别的项目。因此,我们需要提高入门级别,使用STM32F103C8T6 STM32开发板,也称为Blue Pill。它带有一个32位CPU,基于ARM Cortex M3架构。
所需的组件 ● STM32F103C8T6 STM32开发板 ● FTDI USB-TTL转换器 ● 面包板 ● 连接线
STM32开发板简介 在开始使用STM32单片机之前,我们需要了解一下STM32。 STM32的数据手册包含所有信息。STMicroelectronics意法半导体的STM32系列微控制器基于ARM Cortex-M的32位处理器内核。STM32系列是最流行的微控制器,广泛用于各种产品。
STM32微控制器提供大量串行和并行通信外设,可以与各种电子元件连接,包括传感器、显示器、相机、电机等。所有STM32控制器都带有内部闪存和RAM。
STM32应用的范围非常广泛。该开发板子上还有两个晶振,一个是8MHz晶振,一个是32kHz晶振,可以用来驱动内部的RTC(Real Time Clock)。这使MCU能够在深度睡眠模式下运行,使其成为电池供电应用的理想选择。还有两个板载LED,一个(红色)用于电源指示,另一个(绿色)连接到 GPIO 引脚 PC13。
以下是STM32控制器的主要规格参数: ● 制造商:意法半导体 ● 产品类别:ARM微控制器MCU ● 内核:ARM Cortex M3 ● 数据总线宽度:32 位 ● 最大时钟频率:72 MHz ● 程序内存大小:64 kB ● 数据 RAM 大小:20 kB ● ADC 分辨率:12 位 ● I/O 数量:37 I/O ● 工作电源电压:2V 至 3.6V ● 工作温度:– 40 C 至 + 85 C ● 接口类型:CAN、I2C、SPI、USART、USB ● 程序存储器类型:闪存 ● ADC 通道数:10 ● 定时器/计数器数量:3个定时器
STM32单片机编程方法 您可以通过6种方法对STM32微控制器进行编程。分别是: 1. STM32duino Bootloader 2. 串口 3. 通过使用 ST-Link 调试器 4. 通过BMP(黑魔法专业版) 5. Jlink 6. 通过 HID 引导加载程序 2.0
在这里我们将使用最流行的方法,即串口方法来编程 STM32 微控制器。为此,您需要USB转TTL转换器。我们使用的是FTDI模块对STM32进行编程。下面给出STM32和USB转TTL的连接图。
使用Arduino IDE设置 STM32 在开始使用STM32之前,我们需要将STM32开发板库添加到Arduino IDE,以便我们可以使用Arduino IDE对STM32进行编程。
因此,请按照以下步骤操作:
第1步:单击菜单“文件”,然后单击“首选项”,在下面添加以下链接: - http://dan.drown.org/stm32duino/package_STM32duino_index.json
复制代码
第2步:点击工具 -> 开发板 -> 板管理器,然后输入STM32F1,安装以下库文件:
第3步:安装完成后,更改以下选项
测试LED闪烁 现在您可以将USB转TTL转换器连接到您的计算机。请按照上述电路将FTDI USB转换器与STM32连接,确保已在计算机上安装了FTDI驱动程序,否则Arduino IDE不会显示端口。
现在您可以复制下面的闪烁草图代码并将其上传到STM32开发板。上传完成后,您可以在IDE终端上看到以下内容。
源代码 - #define LED_BUILTIN PC13
- void setup() {
- // initialize digital pin LED_BUILTIN as an output.
- pinMode(LED_BUILTIN, OUTPUT);
- }
-
- // the loop function runs over and over again forever
- void loop() {
- digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
- delay(1000); // wait for a second
- digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
- delay(1000); // wait for a second
- }
复制代码
|