初步使用Ardunio IDE实现STM32的串口通信

一、Ardunio IDE的安装及配置

1.安装JDK

由于Arduino IDE依赖JAVA开发环境,所以需要提前安装JDK
官方地址

步骤如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.下载Ardunio IDE

官网地址:https://www.arduino.cc/en/software.
网盘下载:arduino-1.8.13 windows
提取码:hjf8

3.安装Ardunio IDE

如果是下载的.zip文件就不需要进行安装了,直接点击Arduino.exe就可以运行。但是下载的文件是.exe文件就需要进行额外操作进行安装过程参考:使用Ardunio IDE实现STM32板子的串口通信.

4.配置环境

1)默认的Ardunio IDE是没有STM32的开发环境,需要自己进行下载。

①到GitHub上下载支持包,网址:https://github.com/rogerclarkmelbourne.
在这里插入图片描述
在这里插入图片描述

Arduino_STM32 为库文件,下载后直接解压到Arduino安装文件夹下的hardware文件夹下即可。

  • 再次打开 Arduino IDE时,工具→开发板下会增加支持的开发板数。

②在软件中进行下载,过程参考:https://github.com/rogerclarkmelbourne.

二、Arduino IDE的串口通信

1.实验环境

主控芯片:STM32F103RCT6
实验软件:Arduino IDE 1.8.13
实验器材:USB转串口、野火MINI STM32开发板

2.代码:

void setup() {
    
    
  // put your setup code here, to run once:
  Serial.begin(115200);//设置串口的波特率
  pinMode(PC2,OUTPUT);//PC2是蓝色的,PC2表示LED的接口,还有一个是PC3

}
int flag=1;//串口发送标志位,1表示发送,0表示停止发送
void loop() {
    
    
  // put your main code here, to run repeatedly:
  if (flag == 1)
  {
    
    
    Serial.println("Hello World!");
    digitalWrite(PC2, HIGH);   //LED灭
    delay(500);   // 延时
    digitalWrite(PC2, LOW);   //LED亮
    delay(500);   //延时
  }
  stopSendData();
}

void stopSendData()
{
    
    
  String stopflag="stop!";//停止发送数据信号
  String receivedata="";//存放接受到的数据
  while(Serial.available()>0)//判断串口是否还有数据
  {
    
    
    receivedata=Serial.readString();//读取接收到的数据
  }
  if(receivedata==stopflag)//判断接收到的数据是否为停止发送数据的信号
  {
    
    
    flag=0;
  }
}

3.程序配置

1)选择芯片系列,根据芯片的型号选择STM32F103R系列:
在这里插入图片描述

2)选择芯片的型号STM32F 103RC:
在这里插入图片描述
3)选择上传方式Serial:
在这里插入图片描述
4)选择端口COM6:

连接开发板后选择端口

在这里插入图片描述

4.编译

编译时会提示文件中无一个需要的arm软件包,需要在软件中下载。
在这里插入图片描述
若无法下载则可从该链接下载该包:https://pan.baidu.com/s/1LxTNvK8UtKD7EWEpRpJ2jA
提取码:udhr
解压到C:\Users\yunkaichu\AppData\Local\Arduino15\staging\packages这个路径下(多数电脑都是相同的)再回到工具里进行下载安装

在这里插入图片描述
在这里插入图片描述

三、总结

本文章使用Arduino IDE实现STM32的初步开发,相对Keil来说更加方便,没有Keil那么复杂,但是同时没有Keil中许多代码编译功能及其他基础功能。

四、参考资料

Arduino开发环境IDE安装使用.
使用Arduino IDE 开发STM32应用程序 .
使用Ardunio IDE实现STM32板子的串口通信.

猜你喜欢

转载自blog.csdn.net/qq_48008050/article/details/111463796