STM32
直播中

刘波

7年用户 934经验值
私信 关注
[问答]

如何去实现基于Arduino IDE软件的STM32串口通信程序呢

基于Arduino IDE软件的STM32串口通信有何优点呢?

如何去实现基于Arduino IDE软件的STM32串口通信程序呢?

回帖(1)

邢钊楚

2021-12-7 14:28:41
一、在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、用u***线把开发板的"u***转串口"接口连接到电脑。

2、用跳帽将BOOT0与3v3相连,BOOT1与GND相连,RXD与A9相连,TXD与A10相连。如上图
3、连接完成后保持开发板处于通电状态(等会儿选择端口有用)
(四)程序编写及相关配置

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





2、把以下程序粘贴进去

int flag=1;   
char Stop[]="stopn";
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 = Serial.read();    //从串口的缓冲区取出并读取一个Byte的数据
    delay(10);
    i++ ;                              
  }
  if(Stop=inByte)
  {
    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软件左上角工具->串口监视器

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

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

更多回帖

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