赞
踩
同样的价格,更高的性能
性能简单对比:
- STM32F103C8T6 vs Arduino Nano
主频: 72MHz vs 8MHz
SRAM: 20K vs 2K
存储: 64K vs 32KFlash+1KEEPROM(ATmega328)STM32F103C8T6在各个方面都优于Arduino
Nano,而它们的售价却相差无几。此外,STM32的这款芯片还具有更多的GPIO,更高精度的PWM输出(比Nano高64倍),更强大的外设(高精度ADC,若干硬件USART、I2C、SPI)等优点。
硬件准备:
STM32F103C8T6 蓝色开发板(Bluepill) x 1(图片来自网络)
注意:请确认PCB颜色是蓝色的。另有一种黑色PCB版本的,方法略有不同。
USB转TTL小板 x 1(如CH340)
接线:
RX————A9
TX————A10
GND————G
3v3————3.3
将串口模块的RX,TX引脚分别与板子的A9,A10引脚连接。并正确连接3.3V与GND的线路。
注意:如果接入串口模块后计算机无法识别它,请确认是否正确的安装了相关的驱动。
软件准备:
先把下载链接放上
Arduino开发环境:ArduinoIDE
Stm32duino的Bootloader:STM32duino-bootloader
STM32duino-bootloader包可以不用完整下载,只需要里边一个BootLoader的bin文件即可,在https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries,根据板子上的led灯使用的针脚,来选择一个文件下载即可,这里图中BluePill板选择pc13.
STM32硬件支持相关文件:“Hardware” files to support STM32 based boards on Arduino version 1.8.x
注意:这个国内下载是很慢的。请‘另想办法’后再下载。否则可能要花超过一个小时的时间。
flash_loader_demo_v2.8.0:https://www.st.com/en/development-tools/flasher-stm32.html (上面链接如果慢可以用这个http://www.liangchan.net/liangchan/9954.html)下载安装即可
按“硬件准备”连接好线后,把STM32板上boot0插到1的位置,boot1插到0的位置,USB转TTL插入电脑,打开flash_loader_demo。
如果找不到串口,先插入你的下载线,然后重新打开软件:
1:这里选择你的串口号,next
2.原作者说这里按一下开发板上的复位键,但我测试多次,按不按完全相同的结果,直接next
3:这里根据你的芯片,选择内存大小(Bluepill可以不用选择),然后next
7:选择Download to device,并选取下载好的bin文件,next
8:烧写完成。
可以全部关闭了,所有线可以撤掉了,BOOT0插回0。
把下载好的“Arduino_STM32-master.zip”解压到桌面,文件夹名字为“Arduino_STM32-master”,剪切“Arduino_STM32-master”到C:\Users\用户名\Documents\Arduino路径下的hardware文件夹下(hardware文件夹文件夹不存在则需要创建)
打开Arduino_STM32-master\drivers\win 双击安装install_drivers.bat
打开“Arduino”,点击“工具” -> “开发板:xxxxxxxxx”->“开发板管理器”->(索引下载完成后输入)“SAM”-> (安装下图中圈中的内容)
install the Arduino SAM boards (Cortex-M3) from the list of available boards. You must do this step, it installs the arm-none-eabi-g++ toolchain!
安装完成后,关闭页面,点击“工具” -> “开发板:xxxxxxxxx”-> (选中)按图中选项选择
用microUSB线连接STM32和电脑,在“工具”中选择正确的端口
例程
/* Blink */ // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
开始你的烧录
烧录完毕,你会看到你的LED开始闪烁。
至此,全部完成
stm32这块板是3.3v电平,与arduino uno常见的5v电平不同,根据引脚图注意IO输入电压。使用UART时与Arduino略有不同。
其他相关: link.
感谢各位
[1]https://blog.csdn.net/fengwangzhe000/article/details/104569598
[2]https://blog.csdn.net/wwwwyccom/article/details/89251521
[3]https://blog.csdn.net/xatsoft/article/details/90687016
[4]https://blog.csdn.net/kangear/article/details/77589691
[5]https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。