3-2-三个基本的串口打印输出函数
实训项目:串口的打印输出字符串
编写Arduino程序,在蓝蜻蜓ESP32物联网开发平台上,完成以下的功能:
- 初始化UART0
- 初始化UART0的波特率为115200,并打开串口0。
- 使用print()打印字符串
- 使用
print()打印字符串:"UART:"。 - 使用
print()打印字符串:"HelloWorld!"。
- 使用
- 使用println()回车换行
- 使用
println()实现回车换行。
- 使用
- 定义全局变量并打印输出
- 定义一个全局变量
num,每隔2秒进行加1累计。 - 使用
printf()格式化并打印输出字符串:"运行次数:XX次",回车换行。
- 定义一个全局变量
- 使用printinO打印变量
- 使用
print()分别以二进制和十六进制的形式打印输出num变量。
- 使用
- 设置monitor终端的波特率
- 程序运行后,设置monitor终端的波特率,通常终端监视串口的信息输出。

串口初始化

串口打印输出函数

程序代码
void init_serial()
{
Serial.begin(115200);
}
#include <Arduino.h>
void init_serial()
{
Serial.begin(115200);
}
int num = 0;
void serial_print()
{
Serial.print("uart0:");
Serial.print("Hello World!");
Serial.println();
Serial.printf("运行次数:%d \r\n", num);
Serial.print("num二进制为:");
Serial.println(num,BIN);
Serial.print("num十六进制为:");
Serial.println(num,HEX);
}
void setup()
{
init_serial();
}
void loop()
{
num++;
delay(2000);
serial_print();
}
这段代码是一个Arduino程序,用于在蓝蜻蜓ESP32物联网开发平台上实现串口的打印输出。下面是代码的逐行解释:
#include <Arduino.h>
- 这行代码包含了Arduino核心库,是编写Arduino程序的基础。
void init_serial()
{
Serial.begin(115200);
}
- 定义了一个名为
init_serial的函数,用于初始化串口。 Serial.begin(115200);这行代码设置了串口的波特率(即数据传输速率)为115200,这样设备就可以通过串口与其他设备进行通信。
int num = 0;
- 定义了一个全局变量
num,并初始化为0。这个变量用于记录程序运行的次数。
void serial_print()
{
Serial.print("uart0:");
Serial.print("Hello World!");
Serial.println();
Serial.printf("运行次数:%d \r\n", num);
}
- 定义了一个名为
serial_print的函数,用于通过串口打印输出信息。 Serial.print("uart0:");打印字符串"uart0:"。Serial.print("Hello World!");打印字符串"Hello World!"。Serial.println();打印一个换行符,使输出更清晰。Serial.printf("运行次数:%d \r\n", num);使用格式化输出打印运行次数,其中%d是一个占位符,表示一个整数,\r\n是回车换行符。
void setup()
{
init_serial();
}
- 定义了
setup函数,这是Arduino程序的入口点。 init_serial();调用init_serial函数初始化串口。
void loop()
{
num++;
delay(2000);
serial_print();
}
- 定义了
loop函数,这是Arduino程序的主要循环体,会不断重复执行。 num++;将全局变量num的值增加1。delay(2000);使程序暂停2000毫秒(即2秒)。serial_print();调用serial_print函数,通过串口打印输出信息。
整个程序的逻辑是:在程序开始时初始化串口,然后在主循环中每隔2秒增加一次运行次数,并通过串口打印输出当前的运行次数和"Hello World!"字符串。

浙公网安备 33010602011771号