基于Arduino IDE完成STM32开发板的串口通信

  • Post author:
  • Post category:其他




一、在Arduino 完成STM32板子的串口通信程序



(一)安装Arduino IDE

1、进入Arduino IDE官网

下载

相关安装包
在这里插入图片描述

2、下载下来的是一个压缩包,解压并进入文件中,点击应用程序进行安装,按照指示点击即可

在这里插入图片描述



(二)配置Arduino IED

1、IDE安装完成后,打开该软件,点击右上角工具–>开发板–>开发板管理器

在这里插入图片描述

2、搜索ARM,选择 Arduino SAM Boards(32-bit ARM Cortex-M3) 进行安装,下图我已经安装好,所以只有删除键;未安装会有安装键

在这里插入图片描述

3、安装完成后可以打开开发板检查是否安装成功

在这里插入图片描述

4、进入

官网下载

.Arduino_STM32版型文件

在这里插入图片描述

在这里插入图片描述

点击Code->Download ZIP

在这里插入图片描述

5、以上下载的是压缩包,解压后把STM32文件夹复制到IDE软件安装地址下的hardware文件夹下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6、此时重新打开Arduino的开发板查看,发现多了以下STM32版型

在这里插入图片描述

7、打开软件自带的示例程序检查环境是否搭建成功,点击文件->示例->A_STM32->Digital->Blink

在这里插入图片描述

8、点击编译,显示编译完成则环境搭建成功,可继续进行

在这里插入图片描述



(三)STM32开发板连接

我使用的开发板是野火指南者STM32f103VE系列的

1、用usb线把开发板的”usb转串口”接口连接到电脑。

在这里插入图片描述

2、用跳帽将BOOT0与3v3相连,BOOT1与GND相连,RXD与A9相连,TXD与A10相连。如上图

3、连接完成后保持开发板处于通电状态(等会儿选择端口有用)



(四)程序编写及相关配置

1、打开Arduino IDE,点击左上角文件新建一个窗口

在这里插入图片描述

2、把以下程序粘贴进去

int flag=1;   
char Stop[]="stop\n";
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); // 延迟
  while (Serial.available()> 0)     //当发送缓冲区有数据时
  {
    inByte[i] = Serial.read();    //从串口的缓冲区取出并读取一个Byte的数据
    delay(10); 
    i++ ;                              
  }
  if(Stop[i]=inByte[i])
  {
    if(Stop[i-1]==inByte[i-1]&&Stop[i-2]==inByte[i-2]&&Stop[i-3]==inByte[i-3])
    {
      flag=0;
      }
   }
  if(flag==0)
   {
    Serial.println("收到!");//当收到stop命令时停止并回复收到!
    while(1)
    {continue;}
    }
   if(flag==1)
   {
    Serial.println("Hello world!");//向串口发送数据
    delay(100); // 延迟
    }
 }

上述程序完成两个任务:

1)持续向串口输出“Hello world!”;

2)当接收到“stop!”时,停止输出。

3、程序输入完成后,保存

在这里插入图片描述

4、点击工具选择与你的开发板同系列的板子,我的是指南者STM32F103VE系列

在这里插入图片描述

5、这里选择STM32F103VE

在这里插入图片描述

6、上传方式选择Serial
在这里插入图片描述

7、先到设备管理器查看你的USB连接到哪个接口,我这里是COM4,所以在IDE中端口选择COM4
在这里插入图片描述
在这里插入图片描述

8、经过以上步骤,配置完成,点击编译

在这里插入图片描述

9、编译通过后,先按一下连接的开发板的复位键,然后点击上传

在这里插入图片描述

程序上传时,界面下方有进度条,等进度条走完,则上传成功。



(五)实验结果

1、程序上传完成后,观察到开发板的LED灯闪烁

在这里插入图片描述

2、此时点击Arduino软件左上角工具->串口监视器

在这里插入图片描述

3、串口监视器右下角的波特率设置为115200波特率,否则输出结果可能是乱码或问号

在这里插入图片描述

4、设置好后重新打开监视器,程序运行结果:1)持续向串口输出“Hello world!”;2)当接收到“stop!”时,停止输出。

在这里插入图片描述

与实验要求一致,实验成功,到此实验结束



总结

与使用Keil 5实现串口通信相比,基于Arduino IDE软件的STM32串口通信更为方便,程序也更加简洁。以上就是基于Ardunio 完成STM32开发板的串口通信程序。



参考资料:

1、

Ardunio 下的stm32f103指南者串口通信

.

2、

Arduino IDE 玩转STM32 – 搭环境、刷固件、烧程序

.



版权声明:本文为Scorpio_L_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。