ESP32-C3-Arduino-uart

 

引脚图 

 

 

2实现串口发送接收

1默认值初始化串口(默认是uart0

Serial.begin(UART_BAUD);

参数是波特率

2自定义其他串口

2-1创建实例

HardwareSerial SerialUART(0);  //数值指的是uart0  1为uart1.。。。。

2-2初始化

SerialUART.begin(UART_BAUD);//参数为比特率

也可以设置其他参数


baudrate:波特率,指定串行通信的速率,例如 9600、19200、115200 等。
config:配置参数,通常是一个枚举值,指定数据位、校验位和停止位的配置。例如,SERIAL_8N1 表示8个数据位、无校验位、1个停止位。
rxPin:接收引脚,指定用于接收数据的GPIO引脚编号。
txPin:发送引脚,指定用于发送数据的GPIO引脚编号。
inverse:(可选)指示是否反转信号线的极性。

2-3发送数据

Serial.print() 和 Serial.println()

与别.println()会自动在文本的结尾加回车“\n”

实例

Serial.print("Hello ");
Serial.print("World");

 

Serial.println("Hello ");
Serial.println("World");

2-4检测是否有数据从其他地方发送给板子 

 Serial.available()

用于检查串行缓冲区中是否有可用的数据等待读取。这个函数返回一个整数,表示缓冲区中未被读取的字节数。

当你想要从串行端口读取数据时,你通常会先检查Serial.available()的返回值。如果返回值大于0,这意味着缓冲区中有数据可以读取。

实例

if (Serial.available() > 0) { // 如果有数据可读int bytesRead = Serial.available(); // 获取可读字节数
//其他函数}

2-5接收数据 

接收一个字符并以整数类型返回

int SerialUART.read(): 这个方法从串行缓冲区中读取下一个可用的字节,并返回它作为一个整数(0 到 255)。如果没有可用的数据,它将返回 -1

int SerialUART.read();

 接收一个字符串并以String类型返回

String SerialUART.readString(): 这个方法读取所有可用的字符,并将它们作为字符串返回。它直到遇到终止字符(默认为换行符 \n)或直到超时发生时才会停止读取。

String SerialUART.readString();

实例

 

#include <Arduino.h>// 定义 UART1 引脚
#define TX_PIN 1   // U1TXD
#define RX_PIN 0   // U1RXD// 定义 UART 配置
#define UART_BAUD 115200  //波特率// 创建 HardwareSerial 实例
HardwareSerial SerialUART(1);//uart1void setup() {// 初始化串行通信Serial.begin(UART_BAUD);//uart0SerialUART.begin(UART_BAUD,SERIAL_8N1,RX_PIN,TX_PIN);//uart1// 等待串行通信准备就绪while (!Serial) {delay(100);}Serial.println("UART0 设置成功");//
}void loop() {//SerialUART.println("A: ");if (SerialUART.available() > 0) { // 如果有数据可读String input=SerialUART.readString();//接收数据SerialUART.println(input);//发送数据}// 等待一段时间delay(500);
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/42646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python面试题:如何在 Python 中读取和写入 JSON 文件?

在 Python 中读取和写入 JSON 文件可以使用 json 模块。以下是具体的示例&#xff0c;展示了如何读取和写入 JSON 文件。 读取 JSON 文件 要读取 JSON 文件&#xff0c;可以使用 json.load() 方法。下面是一个示例代码&#xff1a; import json# 假设有一个名为 data.json 的…

Docker运行MSSQL2022

安装地址: https://hub.docker.com/r/microsoft/mssql-server 拉取mssql容器镜像 docker pull mcr.microsoft.com/mssql/server 拉取成功 运行mssql镜像 docker run -e "ACCEPT_EULAY" -e "MSSQL_SA_PASSWORDAa123456" -p 1433:1433 -d mcr.microsof…

人工智能系列-Python面向对象编程

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 面向对象编程和面向过程编程 在使用计算机语言进行代码编写时&#xff0c;常见的两种思路是面向对象编程和面向过程编程。 面向过程&#xff1a;根据业务逻辑从上到下写代码。…

归一化过程中由于精度问题导致除法后得到0

import numpy as np n3 datanp.array([[100,2000,3],[400,5000,6],[700,8000,9]]) for j in range(n):data_sumdata[:,j].sum()for i in range(n):data[i][j]data[i][j]/data_sum print(data) 得到结果如下&#xff1a; [[0 0 0] [0 0 0] [0 0 0]] 解决方式&#xff1a; …

异常组成、作用、处理方式(3种)、异常方法、自定义异常

目录 异常的组成&#xff1a;运行异常与编译异常 两者区别&#xff1a;编译异常用来提醒程序员&#xff0c;运行异常大部分是由于参数传递错误导致 异常作用&#xff1a; 作用1&#xff1a;就是平时的报错&#xff0c;方便我们找到报错的来源 作用2&#xff1a;在方法内部…

爬虫爬数据犯法吗

爬虫抓取数据是否违法不能一概而论&#xff0c;这取决于多个因素。 在大多数情况下&#xff0c;如果爬虫在未经网站所有者明确许可的情况下&#xff0c;大量抓取有版权保护、涉及个人隐私或违反网站使用条款的数据&#xff0c;就可能构成违法。 例如&#xff0c;抓取受版权保…

一.2.(2)基本共射放大电路组成、工作原理;

1.基本共射放大电路组成 共什么取决于输入输出&#xff0c;共剩下的那一极 2.工作原理 输入信号ui通过电容C1加到三极管的基 极&#xff0c;引起基极电流iB的变化&#xff0c;iB的变化又使集电极电流ic发生变 化&#xff0c;且ic的变化量是iB变化量的β倍。由于有集电极电压&…

ffmpeg 安装 h264(x264)encoder

#下载并安装x264 # 切换root用户 sudo -i # 输入密码cd ~ mkdir FFmpeg7#下载并安装x264 git clone https://code.videolan.org/videolan/x264.git cd x264 mkdir build./configure --help # 报缺少asm 时 可加入--disable-asm # --prefix/home/llh/ffmpeg/build/ 指定安装目录…

linux-虚拟内存-虚拟cpu

1、进程&#xff1a; 计算机中的程序关于某数据集合上的一次运行活动。 狭义定义&#xff1a;进程是正在运行的程序的实例&#xff08;an instance of a computer program that is being executed&#xff09;。广义定义&#xff1a;进程是一个具有一定独立功能的程序关于某个…

Let‘s Encrypt 申请免费 SSL 证书(每隔60天自动更新证书)

文章目录 官网文档简介安装 Nginxacme.sh生成证书智能化生成证书 安装证书查看已安装证书更新证书 官网 https://letsencrypt.org/zh-cn/ 文档 https://letsencrypt.org/zh-cn/docs/ 简介 Let’s Encrypt 是一个非营利组织提供的免费SSL/TLS证书颁发机构&#xff0c;旨在促…

iOS开发-Xcode

iOS开发主要使用两种编程语言&#xff1a;Objective-C 和 Swift。下面分别介绍这两种语言的基础&#xff1a; Objective-C Objective-C 是一种面向对象的编程语言&#xff0c;它是C语言的超集&#xff0c;意味着你可以直接在Objective-C代码中使用C语言的语句。Objective-C在…

2024世界人工智能大会,神仙打架

B站&#xff1a;啥都会一点的研究生公众号&#xff1a;啥都会一点的研究生 AI圈最近又发生了啥新鲜事&#xff1f; 该栏目以周更频率总结国内外前沿AI动态&#xff0c;感兴趣的可以点击订阅合集以及时收到最新推送 B站首秀世界人工智能大会&#xff0c;展示自研AI技术与AIGC…

人工智能在病理切片虚拟染色及染色标准化领域的系统进展分析|文献速递·24-07-07

小罗碎碎念 本期文献主题&#xff1a;人工智能在病理切片虚拟染色及染色标准化领域的系统进展分析 这一期文献的速递&#xff0c;是有史以来数量最大的一次&#xff0c;足足有十一篇&#xff0c;本来打算分两期写&#xff0c;但是为了知识的系统性&#xff0c;我决定咬咬牙&…

Partisia Blockchain 现已完成第一阶段空投,即将在DeFi领域发力

Partisia Blockchain 是以 MPC 方案为基础的 Layer1 生态&#xff0c;其具备可审计的隐私特性&#xff0c;同时还能保持链的可拓展、高迸发、可互操作以及安全等系列特性&#xff0c;Partisia Blockchain 被认为是目前最具潜力的企业级公链&#xff0c;并且估值高达 16 亿美元。…

远心镜头简介

一、远心镜头 大家都有这种印象&#xff0c;一个物体在人眼看来&#xff0c;会有近大远小的现象。这是因为物体近的时候&#xff0c;在视网膜上投影大&#xff0c;小的时候&#xff0c;投影小。镜头也是一样&#xff0c;因为近大远小的原因&#xff0c;会产生误差。特别是在做尺…

java项目总结8

1.方法引用 1.方法引用概述 注意注意&#xff1a; 1.引用出必须是函数式接口 2.被引用的方法必须已经存在 3.被引用方法的型参和返回值需要跟抽象方法保持一致 4.被引方法的功能要满足当前需求 Arrays.sort(arr,Main::subtraction); Main是该类的名称&#xff0c;&#xff1a…

C++20中的基于范围的for循环(range-based for loop)

C11中引入了对基于范围的for循环(range-based for loop)的支持&#xff1a;该循环对一系列值(例如容器中的所有元素)进行操作。代码段如下&#xff1a; const std::vector<int> vec{ 1,2,3,4,5 }; for (const auto& i : vec)std::cout << i << ", …

【server】nacos 安装

1、本地安装 1.1 nacos官网 Nacos官网| Nacos 配置中心 | Nacos 下载| Nacos 官方社区 | Nacos 官网 git 下载地址&#xff1a;https://github.com/alibaba/nacos/releases 1.2 解压并修改配置 1.2.1 通过properties 修改配置&#xff0c;添加数据库配置 1.2.2 创建数据库&…

数据库(表)

要求如下&#xff1a; 一&#xff1a;数据库 1&#xff0c;登录数据库 mysql -uroot -p123123 2&#xff0c;创建数据库zoo create database zoo; Query OK, 1 row affected (0.01 sec) 3&#xff0c;修改字符集 mysql> use zoo;---先进入数据库zoo Database changed …

Vue笔记10-其它Composition API

shallowReactive与shallowRef shallow&#xff1a;浅的&#xff0c;和deep相反 shallowReactive&#xff1a;只处理对象最外层属性的响应式 shallowRef&#xff1a;只处理基本数据类型的响应式&#xff0c;不进行对象的响应式处理 如果有一个对象数据&#xff0c;结构比较深&a…