Arduino 串口

串口广泛用于不同设备间互相传输数据。

Arduino串口介绍

串口用于不同设备间互相传输数据。比如,可以在电脑上实时输入指令,Arduino 板做出相应的反应,Arduino 板正在执行的工作也能实时反应在电脑上。

Arduino串口分类

Arduino采用USART通信模式,可以有硬串口,软串口两种实现方式。
通常将Arduino UNO上自带的串口0(RX)、1(TX)称为硬件串口,可与外围串口设备通信。
而使用SoftwareSerial类库模拟成的串口,称为软件模拟串口(简称软串口)。如果要连接更多的串口设备,可以使用软串口。

Arduino串口的使用

1、初始化串口
void setup(){            //开机就执行一次的部分
  Serial.begin(9600);   //初始化串口,一般设置通信波特率为9600波特(每秒发送9600bit的数据)
}
2、串口的输出(输出到电脑屏幕上)
void loop(){
  Serial.println("Hello Word"); //传出"Hello Word"给电脑
  delay(1000);
}

Serial.println() : 串口输出数据并换行,print多了ln代表换行
Serial.print() :不换行

3、串口输入
void loop(){
  delay(1000);
  if(Serial.available()>0)     //判断缓冲区中的是否有数据
  {
    char ch=Serial.read();     //读取传入的数据
    Serial.println(ch);    //输出接收到的数据
  }
}

Serial.available() :判断串口缓冲区的状态,返回从串口缓冲区读取的字节数。有字节才会执行
若没有这个判断:
void loop(){
  delay(1000);
  char ch=Serial.read();   //读取传入的数据
  Serial.println(ch);    //输出接收到的数据
}
结果:一开始就输出‘?’   输入了几个数据,将数据输出完后又输出‘?’

Serial.read() :读取串口数据,一次读一个字符,读完后删除已读数据。
Serial.readString() : 从串口缓存区读取全部数据到一个字符串型变量。

if(Serial.available()>0)   //判断缓冲区中是否有数据 {
    String ch=Serial.readString();  //读取传入的数据 Serial.println(ch);  //输出接收到的数据
}
一次性输出多个字符

- 本文为本站原创文章,转载请保留出处。
- 文章链接:https://www.xpstem.com/article/10628

2022-04   阅读(181)   评论(0)
 标签: 创客 Arduino 串口

涨知识
二进制

二进制(binary),发现者莱布尼茨,是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 。

评论:
相关文章
Arduino-ESP32与ESP-IDF的版本对应表

Arduino-ESP32与ESP-IDF的版本对应表。


ESP32 + Arduino使用TFT_eSPI库

Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789


Arduino 数据结构: 队列Queue

Queue 库提供了一个通用的 C++ 动态队列实现,专为在 Arduino 项目中使用而定制。


小鹏浇花套件单机版程序V1.0.0

本程序是小鹏物联网智能浇花套件的单机版程序(不连接物联网),供同学们参考。


Arduino 数据结构: ArrayList

ArrayList 类是一个 C++ 模板类,它提供了 ArrayList 的实现,以便轻松存储任何指定类型的值。它允许使用索引进行高效存储和检索,支持排序操作。


ESP32 FreeRTOS 双核使用

ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。


理解 MSBFIRST(最高有效位)和 LSBFIRST(最低有效位)

在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。


Arduino 和 TB6612FNG 驱动直流电机

TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速与方向,输入电压在3V~12V,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。


Arduino-ESP32 Preferences库使用详解

Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。


Adafruit GFX图形库的使用

用于Arduino的Adafruit_GFX库为我们所有的LCD和OLED显示器提供了通用语法和图形功能集。这使Arduino程序可以轻松地在显示类型之间进行调整,而不必花太多精力……