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

一、在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 - 搭环境、刷固件、烧程序.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值