
[Arduino STM32] 02:LCD5110 驱动 [Arduino STM32] 03:OLED 驱动 对于 Arduino STM32 开发板上的管脚使用,在上一篇文章中的 Blink 程序我们是直接声明 LED 管脚为 MCU 的管脚: #define pinLED PC13 pinMode(pinLED, OUTPUT); digitalWrite(pinLED, HIGH); 然而在 Arduino 的程序里头我们是可以直接使用管脚的编号的: ![]() 比如说: void setup() { // initialize digital pin 13 as an output. pinMode(13, OUTPUT); } 假如我们在 Arduino STM32 板上也想要这么使用的话那我们该怎么知道管脚的编号呢?以上一个 Blink 程序来说,PC13 是对应到那一个编号呢? 在下载到 Arduino IDE 的 STM32 程序插件底下的 board.h 文件里头有这样的枚举类别: // Note this needs to match with the PIN_MAP array in board.cpp enum { PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13,PA14,PA15, PB0, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13,PB14,PB15, PC13, PC14,PC15 }; 这个排列就是 STM32F103C8T6 的管脚编号了,PA0 是 0,而 PC13 就是 32,所以我们将上一个 Blink 程序里头的 PC13 改成 32,程序一样可以正常运行。 #define pinLED 32 这里我们使用管脚编号的方式来实现一个流水灯程序,LED 连接到板子底下的 A15 至 B9 共 8 支脚,而 LED 是低电位点亮的方式。 ![]() 管脚编号对应如下: A15 -> 15 B3 -> 19 B4 -> 20 B5 -> 21 B6 -> 22 B7 -> 23 B8 -> 24 B9 -> 25 程序如下:
运行结果: ![]() Arduino STM32 编程体验 https://www.stmcu.org.cn/module/forum/thread-608305-1-1.html |
这很arduino