使用Arduino IDE开发STM32F10X

Arduino IDE开发的优点是更简单,易用,上手,适合新手使用。缺点是省去了更多代码配置环节,不便于底层理解。但这不影响Arduino IDE开发的强大性,一般情况下开发板实现相同的功能,Arduino IDE开发比keil开发使用更少的代码就能实现,这一点有点类似编程界的Python与其他编程语言的对比吧。想在底层方面了解更多,如亲自操作开发板寄存器的话,建议还是使用keil+库函数开发吧。

为了方便读者配置Arduino IDE开发STM32F10X的环境,我已经将要用到的资源文件打包放在百度网盘了。
链接: https://pan.baidu.com/s/1kqpP1YGKtY2WRz9GNT0Z7w 提取码: q251
需要用的工具:
1.USB转TTL(没有的话可以去淘宝买一个,大约5块钱一个)
2.STM32F10X开发板
我的是STM32F103ZET6
使用Arduino IDE开发STM32F10X_第1张图片
使用Arduino IDE开发STM32F10X_第2张图片
配置流程:
一、先安装好Arduino IDE
双击arduino-1.8.12-windows.exe正常安装,一直按默认方式安装下去就行。
二、将打包文件中的Arduino_STM32整个文件夹拷贝到Arduino IDE安装目录下的hareware下,我这里是C:\Program Files (x86)\Arduino\hardware。这些配置文件是一位国外大佬写的,他的最新配置文件在github网站https://github.com/rogerclarkmelbourne/Arduino_STM32上。使用Arduino IDE开发STM32F10X_第3张图片
之后打开Arduion软件查看菜单栏\工具\开发板…就能看见STM32各系列的芯片了。
三、在Arduion中安装编译支持文件
菜单栏\工具\开发板…\第一栏的开发板管理器使用Arduino IDE开发STM32F10X_第4张图片
输入ARM关键字搜索,选中Cortex-M3系列的编译支持文件并安装,安装过程可能需要几分钟,耐心等一会。待安装完成,退出开发板管理器。
四、这一步需要用到USB转TTL和STM32开发板了。安装STM32固件烧录软件,双击打包文件中的flash_loader_demo_v2.8.0.exe安装,这是ST官方烧录软件。将USB转TTL工具上的VCC,GND,TXD,RXD与开发板的VCC,GND,RXD,TXD相连,注意开发板的TXD是与USB转TTL工具的RXD相连。然后将STM32开发板上的BOOT0用短路冒接入高电平1,BOOT1用短路冒接入低电平0.
五、确认USB转TTL工具连线无误后,将USB转TLL插入电脑USB接口,然后在系统菜单中找到Demonstrator GUI并打开,使用Arduino IDE开发STM32F10X_第5张图片
这里我插入的是电脑的COM5口。识别出USB转TLL后点击next使用Arduino IDE开发STM32F10X_第6张图片
继续next,
使用Arduino IDE开发STM32F10X_第7张图片
继续next,使用Arduino IDE开发STM32F10X_第8张图片
使用Arduino IDE开发STM32F10X_第9张图片
在Download to Device这一处选择打包文件下的bin文件,我的开发板中PB9引脚板载有LED,所以我选择generic_boot20_pb9.bin这个文件。这个文件按照自己开发板中哪个端口下哪个引脚板载有LED来选择,如果是PC13引脚板载有LED就选择generic_boot20_pc13.bin这个文件。如果是别的引脚板载有LED,使用Arduino IDE开发STM32F10X_第10张图片
就在这里找。如果没有找到或者开发板上没有板载LED,就任选一个如PC13,然后在PC13外接一个LED吧,主要是为了测试用,可以像我一样选generic_boot20_pb9.bin就行,有没有LED不要紧。最后调试串口成功才能说明配置环境算是成功了。
使用Arduino IDE开发STM32F10X_第11张图片
最后点击next,
使用Arduino IDE开发STM32F10X_第12张图片
烧录成功。点击close关闭烧录软件。
六、打开Arduino软件,在菜单栏\工具下配置好开发板型号系列,开发板: 我这里选择 Genuic STM32F103Z series。Variant选择STM32F103ZE。Upload mode 选择serial。CPUSpeed选择…72Mhz…。Optimize选择Smallest(default)。
使用Arduino IDE开发STM32F10X_第13张图片

输入代码测试:
void setup() {
//initialize digital pin LED_BUILTIN as an output.
pinMode(PB9, OUTPUT);
Serial.begin(9600);
}

// the loop function runs over and overagain forever
void loop() {
digitalWrite(PB9, HIGH); //turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(PB9, LOW); //turn the LED off by making the voltage LOW
delay(1000); // wait for a second
Serial.println(“Hello World!”);
delay(1000); // wait for a second
}
使用Arduino IDE开发STM32F10X_第14张图片
点击1编译程序,点击2下载程序到STM32开发板。每一次步骤2开始前需要按一下开发板上的复位键才能下载成功,如果需要断电保留程序,下一次上电就运行最后一次下载的程序,就需要把开发板上的BOOT0从高电平1接回低电平0。再次下载最新的程序就需要再次把BOOT0从低电平0接回高电平1。

使用Arduino IDE开发STM32F10X_第15张图片
在Arduino菜单栏\工具中打开串口监视器,看到不断打印的Hello World!说明环境已经配置好了,就可以按照Arduino模式开发STM32了。

运行结果:
使用Arduino IDE开发STM32F10X_第16张图片
使用Arduino IDE开发STM32F10X_第17张图片

你可能感兴趣的:(STM32)