Buon pomeriggio. In questi anni mi sono "arrangiato" a risolvere i miei problemi cercando nella documentazione disponibile e leggendo anche in questo forum ma ora mi sono trovato difronte ad un problema strano. Cercando di utilizzare la libreria CH376msc con l'ESP32 ho notato che collegando l'ESP32 non mi è possibile modificare via software la velocità di trasmissione di 9600 sia con SoftwareSerial ed anche in HardwareSerial. Solo settando la velocità agendo sui ponticelli (per esempio D6=1, D5=0, D4=1 per i 115200) questa si modifica, ovviamente indicandola anche con l'istruzione Serial2.begin(115200, SERIAL_8N1, 21, 22). Grazie.
Documentazione dice:
//UART
//For hardware serial leave the communication settings on the module at default speed (9600bps)
Ch376msc(HardwareSerial, speed);//Select the serial port to which the module is connected and the desired speed(9600, 19200, 57600, 115200)
//For software serial select the desired communication speed on the module(look on the picture above)
Ch376msc(SoftwareSerial);
Quindi se usi HW serial, devi settare i ponticelli per 9600 e poi settare bps come da esempio di libreria:
// Leave the default jumper settings for the baud rate (9600) on the CH376, the library will set it up the chosen speed(HW serial only)
Ch376msc flashDrive(Serial1, 115200); // Ch376 object with hardware Serial1 on arduino mega baudrate: 9600, 19200, 57600, 115200
Sarà... ma è una settimana che ci sto lavorando. Questo è quanto è scritto ma non funge. Nel DataSheet CH376 al paragrafo 6.4 è scritto 'CH376 supports both hardware-set the default serial communication baud rate, also supports MCU select the appropriate communication baud rate at any time by CMD_SET_BAUDRATE command.' _Se non si utilizza il settaggio hardware con dei ponticelli su D6,D5,D4 la dichiarazione nella Serial sia SoftwareSerial che HardwareSerial non funziona. Anzi, dimenticavo, ho dovuto rimuovere l'istruzione _comPortHW->end(); nel programma SetGet.cpp della libreria altrimenti il CH376 non funziona pur col settaggio hardware (D5=0 per il baudrate 115200). Se riesco a venir a capo del problema vi informerò. Grazie!
Certo, infatti ho provato anche con l'ESP8266 ed in SW Serial medesimo comportamento. Proverò a contattare l'autore della libreria. Per il momento sto proseguendo nella scrittura del mio software applicativo avendo rimosso l'istruzione _comPortHW->end() nel programma SetGet.cpp e con i ponticelli sui D6/D5/D4.
Ho aggiunto alla libreria delle istruzioni per una veloce lettura di un solo byte - uint8_t per velocizzare la lettura di file binary.
Grazie comunque per il supporto.
