Ardunio IDE实现STM32板子的串口通信
一、安装Ardunio IDE
由于ArduinoIDE依赖JAVA开发环境,所以需要提前安装JDK。
JDK官方下载地址:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
- 下载Ardunio IDE
①官网下载
https://www.arduino.cc/en/software
②资源下载
arduino-1.8.13 最新安装包 - 安装Ardunio IDE
如果是下载的.zip文件就不需要进行安装了,直接点击Arduino.exe就可以运行。此种方法容易出现问题,不推荐使用。但是下载的文件是.exe文件就需要安装下面操作进行安装。
①双击下载的.exe文件,进入后选择“I Agree”
②默认的是全部勾选上的,可以根据自己需求进行选择,一般是全选是最好。接着点击Next
③安装路径选择,可以直接选择默认路径进行安装,然后,点击Install
④安装过程,可能需要等待几分钟
⑤安装驱动,选择安装
⑥安装完成,选择close
二、Ardunio IDE中配置STM32F10X的开发环境
默认的Ardunio IDE是没有STM32的开发环境,需要自己进行下载。
下载方法
- 选择文件->首选项,进入后将
https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
网址复制粘贴到附加开发板管理器网址处,接着点击好
- 选择工具->开发板->开发板管理器,进入后输入stm32进行搜索,选择stm32F1xx进行安装,安装过程可能比较久
安装过程可能遇到的问题
在Arduino IDE里安装STM32开发板时,在“附加开发板管理器网址”中输入https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
,这可能会导致在开发板管理器中无法找到STM32相关下载。
同时在主页面上还提示下载https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
时出错。
解决方式
将网址修改为http://dan.drown.org/stm32duino/package_STM32duino_index.json
。
三、Arduino IDE的串口通信
-
实验硬件
主控芯片:STM32F103RCT6
实验软件:Arduino IDE 1.8.13
实验器材:USB转串口、野火MINI STM32开发板 -
编写代码
void setup() { // put your setup code here, to run once: Serial.begin(115200);//设置串口的波特率 pinMode(PC2,OUTPUT);//PC2是蓝色的,PC2表示LED的接口,还有一个是PC3 } int flag=1;//串口发送标志位,1表示发送,0表示停止发送 void loop() { // put your main code here, to run repeatedly: if (flag == 1) { Serial.println("Hello World!"); digitalWrite(PC2, HIGH); //LED灭 delay(500); // 延时 digitalWrite(PC2, LOW); //LED亮 delay(500); //延时 } stopSendData(); } void stopSendData() { String stopflag="stop!";//停止发送数据信号 String receivedata="";//存放接受到的数据 while(Serial.available()>0)//判断串口是否还有数据 { receivedata=Serial.readString();//读取接收到的数据 } if(receivedata==stopflag)//判断接收到的数据是否为停止发送数据的信号 { flag=0; } }
-
相关配置
①选择芯片系列,根据芯片的型号选择,此处选择的是STM32F103R系列
②选择芯片的型号,此处选择的是STM32F 103RC
③选择上传方式,此处选择Serial
④选择端口
注意:
需要连接开发板后,才能够对端口进行选择。 -
编译
编译结果
-
上传
上传结果
-
运行
打开串口监视器
运行效果
四、总结
本文章使用Arduino IDE实现STM32的开发,与Keil相比来说,这个软件开发过程操作更加简单,更容易上手,没有keil那么多的设置。但是,这个方式虽然简单,却缺少很多基础方面的东西,在编写代码的时候可能会遇到一些看的不是很懂的地方。对于一些对keil使用不是很熟悉的人来说,使用这个开发工具或许会跟方便。