目录
- 准备工作
- Arduino IDE的串口通信
- 参考资料
准备工作
●环境:Windows
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最新安装包 提取码:618x
●安装Ardunio IDE:
建议下载.exe安装包文件进行下面操作进行安装。
①双击下载的.exe文件,进入后选择“I Agree”
②默认的是全部勾选上的,可以根据自己需求进行选择,一般是全选是最好。接着点击Next
③安装路径选择,可以直接选择默认路径进行安装,然后,点击Install;安装过程,可能需要等待几分钟
⑤安装驱动,选择安装
⑥安装完成,选择close
●Ardunio IDE中配置STM32F10X的开发环境:
打开程序—>选择文件—>首选项,进入后将http://dan.drown.org/stm32duino/package_STM32duino_index.json网址复制粘贴到附加开发板管理器网址处,接着点击好
●选择工具->开发板->开发板管理器,进入后输入stm32进行搜索,选择stm32F1xx进行安装
Arduino IDE的串口通信
1、相关配置
①实验配置
②参数配置:根据芯片来配置
③由于是串口下载,所以上传方式选择Serial
2、实验代码
int flag = 1; //串口发送标志位,1表示正在发送,0表示停止发送
void setup() {
// put your setup code here, to run once:
Serial.begin(115200); //打开串口,波特率为115200
pinMode(PC13, OUTPUT); //PC13模式设置为输出,默认为高电压
}
void loop() {
// put your main code here, to run repeatedly:
if (flag == 1)
{
Serial.println("Hello World!!!");
digitalWrite(PC13, HIGH); //LED灭
delay(500); // 延时
digitalWrite(PC13, LOW); //LED亮
delay(500); //延时
}
usart();
}
void usart()
{
String Stop_flag = "stop!\n"; //停止发送信号
String Begin_flag = "begin!\n"; //重新发送信号
String data = ""; //储存接受到的数据
while (Serial.available() > 0) //判断串口是否接收到数据
{
data = Serial.readString(); //读取字符到字符串data中
//Serial.print(data);
}
if (data == Stop_flag)
flag = 0; //表明停止发送
if (data == Begin_flag)
flag = 1; //表明恢复发送
}
3、实验结果
串口监视器
当没有发送给STM32任何数据或者发送的数据不是停止发送信合和恢复发送信号时,每隔1s发送一次Hello World!!!,当接收到停止发送信号时停止串口数据发送;当接收到恢复发送信号时就恢复串口数据发送。