如何解决STM32蓝色药丸和Arduino IDE
我想用Arduino IDE编程Stm32 bluepill,但是当我想定义引脚时,如我编写“ pinMode(A10,OUTPUT)”,则会出现错误。错误为“未在此范围内声明'A10'” 我想知道如何在STM32的Arduino IDE中声明引脚
解决方法
一个原因可能是当前选择的板卡没有编号为10的ADC引脚(请检查工具板上的板卡->板卡),ADC引脚的数量可能更少,例如尝试A0。
或者您选择的板子错误。默认情况下,Arduino IDE中不包含Bluepill。因此,您必须先将其添加到IDE中。 这里有一个很好的说明以及如何执行示例代码。 this one
请记住,与标准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。 这是显示引脚名称及其功能的示例图片: example code on GitHub
,对于具有Arduino Core的STM32 Blue Pill,数字引脚根据其端口和引脚编号来命名,例如PB1,PA10。
没有A10,我假设您的意思是PA10(由于蓝色药丸在PCB上的空间有限,在蓝色药丸PCB上标记为“ A10”(对于端口A引脚10)。
要将其用作数字引脚,只需使用PA10
对其进行寻址,即:
pinMode(PA10,OUTPUT);
或者因为PA10在内部被称为D10,所以您也可以使用:
pinMode(10,OUTPUT); //not recommended
为更好地了解STM32F103蓝色药丸的所有引脚分配,请查看源代码here和here。
,基于您要报告的错误,您并未为正确的电路板构建代码。我怀疑您的目标是没有A10的ArduinoUNO(默认)。
而且,正如hcheung的answer所提到的,蓝色药丸上的名字是“ PA10”。
按照此处的说明安装STM“蓝色药丸”的电路板配置,然后选择它并重新构建。
https://maker.pro/arduino/tutorial/how-to-program-the-stm32-blue-pill-with-arduino-ide
注意,从现在开始,现在的电路板选择是“ STM32F1系列”,而不是链接中指定的“ STM32F103C系列”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。