一、Arduino的安装
先下载其安装包下载,
解压之后,双击exe文件进行安装,如果中途有弹出窗口让你选择安装还是不安装,请一直选择安装。
安装完后close.
二、Arduino的配置
双击打开应用,进行如下图中的操作
点击工具中开发板“…”,再点击开发板管理器
出现如下界面
输入ARM筛选,选择如下图进行安装(这里是安装好的,所以右下出现的是删除,安装过程有几分钟,请耐心等待。)
查看是否安装成功
下载.Arduino_STM32版型文件,
将其解压到Arduino安装路径下的hardware
再进入软件查看,是否配置成功
根据自己的板子进行如下选择(本文用的是野火指南者STM32f103VE系列)
打开软件自带示例查看是否配置成功
进行编译
编译无错
三、连接开发板
连接硬件
选择端口,我这里连接的端口是COM5
四、进行串口通信
新建文件,进行如下配置
将代码拷贝进去,保存。
代码如下:
String rString=""; //接收到达字符串
String Stop_flag="stop";
String Begin_flag="begin";
void setup() {
//初始化
pinMode(PB1, OUTPUT); //PB0为绿色,PB1为蓝色,PB5为红色,可根据需要改动
Serial.begin(115200);
}
void loop()
{
int i=0,flag=1;
char inByte[1000];
digitalWrite(PB1, HIGH); //小灯亮
delay(500); // 延迟
digitalWrite(PB1, LOW); //小灯灭
delay(500); // 延迟
Serial.println("Hello world!");//向串口发送数据
while (Serial.available()> 0) //当发送缓冲区有数据时
{
rString = Serial1.readString(); //将接收数据存到接收字符串里
}
if(rString==Stop_flag)
{
Serial.println("收到!");//当收到stop命令时停止并回复收到!
while(1)
{
while (Serial.available()> 0) //当发送缓冲区有数据时
{
rString = Serial1.readString(); //将接收数据存到接收字符串里
}
if (rString==Begin_flag)
{
Serial.println("继续发送");
break;
} //表明恢复发送,跳出死循环
}
}
}
打开串口监视器
按一下板子上的复位键,然后开始上传
上传成功之后,就可以看到LED灯开始闪烁
可以在串口监视器中看到,输入stop停止发送数据,输入begin开始发送数据
五、基于标准库函数与基于HAL库函数的stm32编程方式的差异
标准库
ST公司为每款芯片都编写了一份库文件,也就是工程文件里stm32F1xx.....之类的。在这些 .c .h文件中,包括一些常用量的宏定义,把一些外设也通过结构体变量封装起来,如GPIO口时钟等。所以我们只需要配置结构体变量成员就可以修改外设的配置寄存器,从而选择不同的功能。
HAL库
全称Hardware Abstraction Layer(抽象印象层)。HAL库的一些函数可以做到某些特定功能的集成。也就是说,同样的功能,标准库可能要用几句话,HAL库只需用一句话就够了。并且HAL库也很好的解决了程序移植的问题,不同型号的stm32芯片它的标准库是不一样的,例如在F4上开发的程序移植到F3上是不能通用的,而使用HAL库,只要使用的是相通的外设,程序基本可以完全复制粘贴。
六、stduino IDE试玩
Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,已率先支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能!
功能:
- GDB调试
- 封装库下载安装
- 代码自动补全提示
- 中英文模式
- UTF-8\GBK编码格式
- 代码快速格式化
- SWD\串口程序下载&调试
用起来确实方便一点,比KEIL和aduino要简单一点,容易上手。