使用Ardunio IDE实现STM32板子的串口通信

一、安装Ardunio IDE

由于ArduinoIDE依赖JAVA开发环境,所以需要提前安装JDK。
JDK官方下载地址:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

  1. 下载Ardunio IDE
    ①官网下载
    https://www.arduino.cc/en/software
    ②资源下载
    arduino-1.8.13 最新安装包
  2. 安装Ardunio IDE
    如果是下载的.zip文件就不需要进行安装了,直接点击Arduino.exe就可以运行。此种方法容易出现问题,不推荐使用。但是下载的文件是.exe文件就需要安装下面操作进行安装。
    ①双击下载的.exe文件,进入后选择“I Agree”
    在这里插入图片描述
    ②默认的是全部勾选上的,可以根据自己需求进行选择,一般是全选是最好。接着点击Next
    在这里插入图片描述
    ③安装路径选择,可以直接选择默认路径进行安装,然后,点击Install
    在这里插入图片描述
    ④安装过程,可能需要等待几分钟
    在这里插入图片描述
    ⑤安装驱动,选择安装
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ⑥安装完成,选择close
    在这里插入图片描述

二、Ardunio IDE中配置STM32F10X的开发环境

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

  1. 选择文件->首选项,进入后将https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json网址复制粘贴到附加开发板管理器网址处,接着点击好
    在这里插入图片描述
  2. 选择工具->开发板->开发板管理器,进入后输入stm32进行搜索,选择stm32F1xx进行安装,安装过程可能比较久
    在这里插入图片描述
    安装过程可能遇到的问题
    在Arduino IDE里安装STM32开发板时,在“附加开发板管理器网址”中输入https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json,这可能会导致在开发板管理器中无法找到STM32相关下载。
    同时在主页面上还提示下载https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json 时出错。
    解决方式
    将网址修改为http://dan.drown.org/stm32duino/package_STM32duino_index.json

三、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. 相关配置
    ①选择芯片系列,根据芯片的型号选择,此处选择的是STM32F103R系列
    在这里插入图片描述
    ②选择芯片的型号,此处选择的是STM32F 103RC
    在这里插入图片描述
    ③选择上传方式,此处选择Serial
    在这里插入图片描述
    ④选择端口
    在这里插入图片描述

    注意:
    需要连接开发板后,才能够对端口进行选择。

  4. 编译
    在这里插入图片描述
    编译结果
    在这里插入图片描述

  5. 上传
    在这里插入图片描述
    上传结果
    在这里插入图片描述

  6. 运行
    打开串口监视器
    在这里插入图片描述
    运行效果
    在这里插入图片描述
    在这里插入图片描述

四、总结

本文章使用Arduino IDE实现STM32的开发,与Keil相比来说,这个软件开发过程操作更加简单,更容易上手,没有keil那么多的设置。但是,这个方式虽然简单,却缺少很多基础方面的东西,在编写代码的时候可能会遇到一些看的不是很懂的地方。对于一些对keil使用不是很熟悉的人来说,使用这个开发工具或许会跟方便。

五、参考资料

  1. Arduino IDE(集成开发环境)下载及安装
  2. 基于Arduino IDE完成STM32开发板的串口通信
  3. Arduino 串口通讯参考笔记 - Serial 类库及相关函数介绍

猜你喜欢

转载自blog.csdn.net/qq_43279579/article/details/111086766