ESP32通过硬串口通信程序案例如下:
HardwareSerial Myserial(1); // D5 - 接TXD, D18 - 接RXD
char Speed_Off[8] = {0x80,0x06,0x00,0x40,0x00,0x00,0x96,0x0F}; // 电机驱动板的 停止命令
char Speed_Align[8]= {0x80,0x06,0x00,0x40,0x03,0xe7,0xd6,0xb5}; // 电机驱动板的正转命令
char Speed_Open[8] = {0x80,0x06,0x00,0x40,0xfc,0x19,0x16,0xc5}; // 电机驱动板的反转命令
void Align(){
for(int i =0;i<8;i++){
Myserial.write(Speed_Align[i]); // 通过ESP32串口发送电机正转数据
}
}
void Open(){
for(int i =0;i<8;i++){
Myserial.write(Speed_Open[i]); // 通过ESP32串口发送电机反转命令
}
}
void MotorOff(){
for(int i =0;i<8;i++){
Myserial.write(Speed_Off[i]); // // 通过ESP32串口发送电机停止命令
}
}
void Delay_one(){
for(int i =0;i <6;i++){
delay(1000);
}
}
void Delay_Two(){
for(int i =0;i <12;i++){
delay(1000);
}
}
void setup() {
// put your setup code here, to run once:
Myserial.begin(9600,SERIAL_8E1,5,18); // 配置串口参数
}
void loop() {
//Myserial.println("Hello world!");
delay(2000);
Align();
delay(2000);
MotorOff();
Delay_one();
Open();
delay(2000);
MotorOff();
Delay_Two();
}