Ardunio完成STM32板子的串口通信

一、安装Ardunio IDE

官网下载地址:地址

在这里插入图片描述
在这里插入图片描述
全部勾选上
在这里插入图片描述
选择相应的路径,安装即可
在这里插入图片描述
在这里插入图片描述
安装途中,弹出的三个相应的驱动安装即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、配置Ardunio IDE

配置stm32f10x环境资源:链接
提取码: q251

将打包文件中的Arduino_STM32整个文件夹拷贝到Arduino安装目录下的hareware下
在这里插入图片描述
在这里插入图片描述
打开Ardunio IDE,工具—>开发板"Arduino Uno"—>开发板管理器
在这里插入图片描述
搜索ARM,找到与stm32板子芯片相应的Cortex-M3,安装即可。
时间有点小长
在这里插入图片描述
安装完毕后,工具里找到安装好的stm32f1
这里我使用的是stm32指南者,所以选择的是stm32f103v系列
在这里插入图片描述
选择完毕后会有一系列的设置
Variant选择STM32F103VE
Upload method选择Serial
端口在usb连接到电脑上才能有所选择
在这里插入图片描述
记得将串口监视器的波特率设为115200
在这里插入图片描述
关于板子
用跳帽将BOOT0与3v3相连,
BOOT1与GND相连,
RXD与A9相连,
TXD与A10相连。
在这里插入图片描述

三、串口通讯实验

一、测试代码

void setup() {
    
    
  // put your setup code here, to run once:
  //PB0是小灯是绿色的
  pinMode(PB0, OUTPUT);
  //串口初始化
  Serial.begin(115200);

}

void loop() {
    
    
  // put your main code here, to run repeatedly:
  digitalWrite(PB0, HIGH); //turn the LED on (HIGH is the voltage level)
  delay(500); // wait for a second
  digitalWrite(PB0, LOW); //turn the LED off by making the voltage LOW
  delay(500); // wait for a second
  Serial.println("Hello World!");
  delay(500); // wait for a second
}

在这里插入图片描述
演示效果:
在这里插入图片描述
在这里插入图片描述

二、实验代码

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

void setup() {
    
    
  // put your setup code here, to run once:
  //串口初始化,波特率115200
  Serial.begin(115200);
}
//判断标志
int flag=1;  
//停止字符串标志
String stopstring="stop\n";
//输入字符串
String inputstring="";
void loop() {
    
    
  // put your main code here, to run repeatedly:
  //发送helloworld
  if(flag==1)
  {
    
    
    Serial.println("hello world");
    delay(500);
  }
  //串口接收到了数据,可以读取
  while(Serial.available()>0)
  {
    
    
    //读取数据
    inputstring=Serial.readString();
    delay(10);
  }
  //判断是否为停止标志
  if(inputstring==stopstring)
  {
    
    
    flag=0;
    Serial.println("收到停止");
    //输入字符串初始化,清零
    inputstring="";
  }
}

演示效果:
在这里插入图片描述

四、总结

五、参考资料

arduino中的serial .available()和serial.read()是区别
stm32f103指南者在Ardunio IDE上的串口通信应用
使用Arduino IDE开发STM32F10X
使用Ardunio IDE实现STM32板子的串口通信

猜你喜欢

转载自blog.csdn.net/weixin_45888898/article/details/111120404