ESP32通過(guò)硬串口通信程序案例如下:
HardwareSerial Myserial(1); ?? //? D5 - 接TXD再愈, D18 - 接RXD
char Speed_Off[8] =? {0x80,0x06,0x00,0x40,0x00,0x00,0x96,0x0F};? // 電機(jī)驅(qū)動(dòng)板的 停止命令
char Speed_Align[8]= {0x80,0x06,0x00,0x40,0x03,0xe7,0xd6,0xb5}; // 電機(jī)驅(qū)動(dòng)板的正轉(zhuǎn)命令
char Speed_Open[8] = {0x80,0x06,0x00,0x40,0xfc,0x19,0x16,0xc5}; // 電機(jī)驅(qū)動(dòng)板的反轉(zhuǎn)命令
void Align(){
?for(int i =0;i<8;i++){
??????Myserial.write(Speed_Align[i]); ? ? ? ?? // 通過(guò)ESP32串口發(fā)送電機(jī)正轉(zhuǎn)數(shù)據(jù)
? }
}
void Open(){
? for(int i =0;i<8;i++){
? ? Myserial.write(Speed_Open[i]); ? ?? // 通過(guò)ESP32串口發(fā)送電機(jī)反轉(zhuǎn)命令
? }
}
void MotorOff(){
? for(int i =0;i<8;i++){
? ? Myserial.write(Speed_Off[i]); ? //?// 通過(guò)ESP32串口發(fā)送電機(jī)停止命令
? }?
}
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); ? ? // 配置串口參數(shù)
}
void loop() {
? //Myserial.println("Hello world!");
? delay(2000);
? Align();
? delay(2000);
? MotorOff();
? Delay_one();
? Open();
? delay(2000);
? MotorOff();
? Delay_Two();
}