Ardunio下完成STM32的串口通信程序

一、Arduino IDE 1.8.13安装

在Arduino官网上下载1.8.13版本,下载完成之后开始安装,首先选择I Agree;
在这里插入图片描述
然后一直next;
在这里插入图片描述
j接下来选择直接要将软件添加到的目的文件,然后点击安装;
在这里插入图片描述

在这里插入图片描述
可以看到正在安装中。接下来会弹出三个窗口,依次点击安装即可;

在这里插入图片描述

安装完成之后点击close。
打开Arduino IDE软件界面如下:
在这里插入图片描述

二、Arduino IDE配置

1、安装Arduino SAM Boards版型文件

①打开Arduino,选择工具→开发板→开发板管理器,打开之后界面如下,选择Arduino SAM Boards(32-bit ARM Cortex-M3),点击安装;
在这里插入图片描述
在这里插入图片描述
②安装完成之后可以看到Arduino SAM Boards板块没有安装键了,只有删除键;
在这里插入图片描述
③再次打开工具→开发板,看到如图则安装成功了。
在这里插入图片描述

2、在Arduino中安装STTM32开发板

在Arduino IDE中打开“文件”→“首选项”,在“附加开发板管理器地址”输入:
https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json

在这里插入图片描述
然后选择工具→开发板→开发板管理器,打开之后界面如下,选择STM32F1XX,点击安装;

在这里插入图片描述
下载有点慢,可以先做点其它事情;
在这里插入图片描述

下载完成之后,打开“工具”→“开发板”,会看到如下所示:
在这里插入图片描述

三、在Ardunio 下完成STM32板子的串口通信程序

要求:
1)持续向串口输出“Hello world!”;
2)当接收到“stop!”时,停止输出。

①选择板子类型,因为我是指南针STM32F103VET6的,所以我这里选择STM32F103V系列;
在这里插入图片描述

②再次打开"工具",Variant选择F103VE;
在这里插入图片描述
③Upload methoa那一栏一定要选择Serial;
在这里插入图片描述
④用USB线将开发板的"USB转串口"与电脑连接起来,将开发板电源打开。在Arduino里面新建一个文件,写入如下代码:

int flag=1;   
char Stop[]="stop!";
char Begin[]="begin!"; 
void setup() {
//初始化
pinMode(PB5, OUTPUT);//PB0为绿色,PB1为蓝色,PB5为红色,可根据需要改动
Serial.begin(115200);
}
void loop() {

char inByte[50];
digitalWrite(PB5, HIGH); //小灯亮
delay(500); // 延迟
digitalWrite(PB5, LOW); //小灯灭
delay(500); // 延迟

    int i=0,s=0,b=0;
    char accepted[50];
    while (Serial.available()> 0)     //当发送缓冲区有数据时
    {
        accepted[i] = Serial.read();    //从串口的缓冲区取出并读取一个Byte的数据
        delay(10);                   
        
        if(Stop[i]==accepted[i])       //判断发送数据是否与停止命令相等
            s+=1;
        
        if(Begin[i]==accepted[i])      //判断发送数据是否与开始命令相等
            b+=1;
        
        i++;
    }
     
    if(s==5)                       //如果与停止命令相等
      {
           flag=0;                      //发送标志位置为0
           Serial.println("已停止发送\n");
           s=0;                   //初始化判断,防止没有发送数据时一直执行
      }

     if(b==6)                    //如果与开始命令相等
      { 
           flag=1;                     //发送标志位置为1
           Serial.println("开始发送\n");
           b=0;                  //初始化判断,防止没有发送数据时一直执行
      }
    
      if (flag==1)                      //判断发送标志位是否为1
    {
        Serial.println("Hello World!");  
        delay(1000);
    }
    
}

然后再打开工具,将端口选择为COM3;
在这里插入图片描述
⑤编译程序;
在这里插入图片描述
在这里插入图片描述

⑥将程序上传到开发板上运行;
在这里插入图片描述
⑦打开工具,选择串口监视器,可以查看结果;

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

四、总结

       Ardunio IDE上编写的程序代码规则和我们之前写C语言的代码有所区别,需要再写代码的时候注意一下,博主也是刚刚接触Ardunio IDE,大家如果有觉得有什么不妥之处或者有什么更好的想法欢迎留言!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值