STM32
直播中

甘满盛

7年用户 1270经验值
擅长:386660
私信 关注
[问答]

如何在Ardunio下完成STM32板子的串口通信程序?

Arduino IDE1.8.13怎么安装?

如何在Ardunio下完成STM32板子的串口通信程序?

回帖(1)

徐慧

2021-12-8 10:03:31
一、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 = Serial.read();    //从串口的缓冲区取出并读取一个Byte的数据        delay(10);                                   if(Stop==accepted)       //判断发送数据是否与停止命令相等            s+=1;                if(Begin==accepted)      //判断发送数据是否与开始命令相等            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,大家如果有觉得有什么不妥之处或者有什么更好的想法欢迎留言!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分