stm32驱动程序编写入门教程(用ArduinoIDE对STM32F103C8T6进行编程)
STM32概述“Blue Pill”
如果你看看这个2美元的微控制器,您看到的第一件事就是它的跳线引脚,用于使用默认的USART引导加载程序。板上还有一个微型USB端口,但遗憾的是它不能用于编程,因为它没有相关的引导加载程序。
与官方的Arduino板相比,这些板非常便宜,而且硬件是开源的。除了微控制器外,该板还可以容纳两个晶体振荡器 - 一个8MHz晶体和一个32KHz晶体 - 可用于驱动内部RTC(实时时钟)。因此,MCU可以在深度睡眠模式下工作,非常适合电池供电的应用。
要对该板进行编程,我们需要使用简单的USB转UART转换器,然后我们就可以编程了它直接通过USB从计算机。
STM32引脚排列
必需材料
STM32 F103C8T6
USB转UART转换器(FTDI)
跳线
面包板
Arduino IDE
接线项目
根据下面Fritzing图中显示的连接连接电路板,并将它们与计算机连接。
Fritzing diagram
使用跳线到位的构建设置。
如下图所示连接跳线,将电路板设置为DFU模式(设备固件升级) )然后按“重置”按钮。
在Arduino IDE上设置STM32
打开Arduino IDE并选择首选项。
单击“其他Board URL”选项并在逗号后面添加此URL:
http://dan.drown.org/stm32duino/package_STM32duino_index.json
然后单击工具→板→板管理器。
执行上述步骤后,您可以在电路板列表中看到STM32 。现在选择STM32F103C。
因为我们使用UART模块上传代码,所以选择Upload Method as Serial。
从示例中选择Blink sketch。
用“PC13”更改LED引脚编号,如图所示下面的截图。这是电路板中内置LED的名称。
项目源代码
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
}
将代码上传到Arduino IDE
现在上传代码。
成功上传!
结论 的
如果程序已成功上传,您应该会看到绿色LED以1秒的间隔闪烁。您也可以使用此程序增加或减少LED灯的延迟。
上传程序后,您应该将跳线更改回正常模式,以便下次启动电路板时,上传的程序将自动开始执行。
完整的构建。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com