测评项目继续回到Arduino IDE,本篇记录开启C3的第二个串口——Arduino框架中的实例Serial1的过程。
1、Arduino框架中的实例定义
Arduino开发可以直接使用Serial,其实它是框架中已经定义好的HardwareSerial类型的对象。ESP32 Arduino Package的“..\esp32\hardware\esp32\2.0.4\cores\esp32”路径下有HardwareSerial.cpp和HardwareSerial.h,它们就是Arduino中串口的代码实现。HardwareSerial.cpp中有Serial和Serial1实例的定义,HardwareSerial.h中有两个对象变量的导出(extern),另外begin()函数的传参也很多,只不过除了第一个波特率,其它参数都有默认值。
图5-1 Serial和Serial1定义
图5-2 HardwareSerial.begin()函数原型
#define LED 12 //IO10 for LED on board
bool flag = false; //LED status flag
void setup() {
// Initialize GPIO
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
// Initialize USB-UART
Serial.begin(115200);
// Initialize UART1
Serial1.begin(115200, SERIAL_8N1, /*rx =*/1, /*Tx =*/0);
}
int i = 0; //counter variable for Blink
void loop() {
if (i++ >= 1000) {
if (flag) {
digitalWrite(LED, LOW);
flag = false;
}
else {
digitalWrite(LED, HIGH);
flag = true;
}
i = 0;
Serial.print("0");
Serial1.print("1");
}
delay(1);
}
欢迎联系本站长QQ:3216572