Arduino完成stm32串口通信
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。
它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是通过 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。
一、安装 Arduino IDE
1、下载安装Arduino
https://pan.baidu.com/s/19ceOD59_ekpE6I7fIPA-9A
提取码:a8cf
提示安装驱动时,请务必同意
二、配置stm32开发环境
1、下载stm32固件包
https://pan.baidu.com/s/1duNbOfa-kcMUqeMqluu3Iw
提取码:hph9
2、下载后解压到Arduino安装目录下的hardware文件夹下
3、打开Arduino IDE然后按工具-开发板管理器,下载安装Arduino SAM开发板
4、配置工具中的选项卡(第一项根据自己的硬件型号选择,第三项为程序下载方式,本文中选用串口方式)
5、选择示例,进行编译,检查环境是否搭好
6、编译通过,则已搭好stm32编译环境
三、stm32串口通信
本例所用硬件为野火的指南者开发板
实验内容为,串口循环发送Hello Word
当收到stop
停止发送,收到begin
重新开始发送
1、连接硬件,选择端口
2、选择串口的例程进行更改
3、代码
String rString = ""; // 接收到达字符串
int flag=1; //发送或接收标志
String Stop_flag = "stop"; //停止发送
String Begin_flag = "begin"; //重新发送
void setup()
{
Serial.begin(115200); // 串口初始化
}
void loop()
{
while(Serial1.available() > 0) //接收缓存区有数据
{
rString = Serial1.readString(); //将接收数据存到接收字符串里
}
if (rString == Stop_flag)
{
flag = 0; //表明停止发送
}
if (rString == Begin_flag)
flag = 1; //表明恢复发送
if (flag == 1)
{
Serial.println("Hello World");
delay(1000);
}
}
4、编译上传程序
如果报错
先按复位键然后再重新上传,如果之前的程序有串口通信,打开工具里的串口检测器,然后按复位键,再重新上传
5、实验效果
打开工具里的串口监测器
注意波特率和结束符的选择