本文使用 Black Pill STM32,其DIP 外形尺寸适合任何面包板,并且 USB C 电缆可以为电路板供电,除非您驱动大量外部电路,否则您可能不需要外部电源。
我使用的 STLink 加密狗有 10 个引脚。 不幸的是,并非所有复制品都具有相同的引脚排列。 Blackpill 上的四个引脚(从左侧开始,同时查看连接器)是:3.3 V、SWDIO、SWCLK 和接地。 如果您不介意从 USB 端口获取电源,则只需要最后三个引脚。
通常,这些复制品适配器的外壳上有引脚排列。 对于我来说,我需要的三根电线分别位于引脚 6、7 和 8 上。如果您确实需要从设备中汲取 3.3 V 电压,请小心,消耗过多电流或短路电源线会损坏加密狗。
我选择 Mbed 工具,它是一个类似于 Arduino 的生态系统。不过,其生态系统并不直接支持 Black Pill,且目标板不支持 USB。 不过,它似乎只能在本地运行的 Mbed IDE 上工作。如果您使用不同的工具集,您可能会发现自己需要自己来定义目标,如PlatformIO。
一旦你把所有东西都组装好了,就很容易让程序运行起来。让我们做一个简单的 LED 闪光灯,在 USB 串行端口上输出一些输出。 例如,您可以在在线模拟器中运行“Blinky”示例。 问题是 printf 在我们的板上没有任何用处。
#include "mbed.h"
#include "USBSerial.h"
DigitalOut led(LED1);
USBSerial usbSerial(false); // don't wait for connection
int main() {
usbSerial.connect(); // set up serial port
while (1) {
led = !led;
usbSerial.printf("Blink! LED is now %d\n", led.read());
ThisThread::sleep_for(500ms);
}
}
就是这么简单。只需按照 Black Pill 配置中的说明设置一个项目。即:
如果您使用的是 STLink,您只需单击运行按钮或调试按钮即可开始使用。 如果您选择了 DFU,IDE 会告诉您将 .bin 文件放在哪里。 这就是你需要为你的 DFU 编程器提供的东西。 如果您使用 Linux,dfu-util 行将如下所示:
详情参阅 - 亚图跨际