STM32 Blue pill 和 Arduino IDE

STM32 Blue pill and Arduino IDE

我想用 Arduino 对 Stm32 bluepill 进行编程 IDE 但是当我想像我写的“pinMode(A10, OUTPUT)”那样定义引脚时,它会出错。错误是“'A10' 未在此范围内声明” 我想知道我应该如何在 Arduino IDE 中为 STM32

声明引脚

一个原因可能是当前选择的电路板没有编号为 10 的 ADC 引脚(在工具 -> 电路板上检查电路板),ADC 引脚的数量可能较少,例如尝试 A0.

或者你选错了板子。默认情况下,Bluepill 不包含在 Arduino IDE 中。所以你必须先把它添加到你的 IDE 中。 这里有一个关于如何执行此操作的很好的说明和示例代码。 https://maker.pro/arduino/tutorial/how-to-program-the-stm32-blue-pill-with-arduino-ide

请记住,与标准 Arduino 代码相比,这个新安装的库在语法上可能存在细微差异,例如取自上述站点的示例:

void setup() {
  // change pin PC13
  pinMode(PC13, OUTPUT);
}

//infinite loop 
void loop() {
  digitalWrite(PC13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(PC13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

正如您在此处看到的,该引脚是使用“PC13”选择的,而不仅仅是一个数字“13”。

所以在这种情况下,通过安装上述站点中使用的库,您应该将 PA0 写入 PA7 以使用 ADC。 这是显示引脚名称及其功能的示例图片:

对于带有Arduino Core的STM32 Blue Pill,数字管脚根据其端口和管脚编号命名,例如PB1、PA10。

没有 A10,我假设你指的是 PA10(在 Blue Pill PCB 上标记为“A10”(用于端口 A 引脚 10),因为 PCB 上的限制 space。

作为数字引脚使用,只需用PA10寻址即可,即:

pinMode(PA10, OUTPUT);

或者因为PA10在内部恰好被称为D10,你也可以使用:

pinMode(10, OUTPUT); //not recommended

为了更好地理解STM32F103 Blue Pill的所有引脚分配,请查看源代码here and here

根据您报告的错误,您没有为正确的板构建代码。我怀疑您的目标是没有 A10 的 ArduinoUNO(默认)。

另外,正如hcheung的提到的,蓝色药丸上的名字是“PA10”。

按照此处的说明安装 STM“blue pill”的电路板配置,然后select它并重新构建。

https://maker.pro/arduino/tutorial/how-to-program-the-stm32-blue-pill-with-arduino-ide

请注意,selection 截至今天的开发板现在是“STM32F1 系列”,而不是 link 中指定的“STM32F103C 系列”。