Hi, first of all thank you for answering me in such a short time.
So back to the topic, thanks to your suggestions I did some additional tests and now I would like to evaluate what I have achieved with you.
As suggested by @maxgerhardt I added the settings calculated by the Fuse Calculator in the file platformio.ini.
But I did not get any desired result, in fact from the serial monitor I receive only noise.
In addition I wanted to see which Fuse were previously set. So from the terminal output during the upload I got these values which are the same as I confirmed in the configuration file …
avrdude: verifying ...
avrdude: 4452 bytes of flash verified
avrdude: safemode: Fuses OK (E:FF, H:DF, L:E2)
avrdude done. Thank you.
============= [SUCCESS] Took 13.10 seconds =============
This makes me wonder if the CPU wasn’t already running at its set frequency.
So in spite of this I looked for the cause of the problem elsewhere. I threw away my code and uploaded this very simple ping
#include <Arduino.h>
#include <SoftwareSerial.h>
SoftwareSerial SWSERIAL(8, 0); // RX, TX
void setup() {
SWSERIAL.begin(4800);
}
void loop() {
SWSERIAL.println("Ping");
delay(1000);
}
to check 2 things:
- if the “divided by 8” has been set as suggested by @normandunbar with the delay (1000);
- if other functions within my original code could interfere with the SoftwareSerial.h
The result, however, has always been the same and a delay (1000) is exactly 1s long.
For documentation this is what I get from the serial monitor
▒▒▒~f▒▒▒f▒▒▒~f▒▒▒f▒▒▒~n▒▒▒f▒▒▒~f▒▒▒f▒▒▒~N▒▒▒f▒▒▒~f▒▒▒f▒▒▒~f▒▒▒f▒▒▒
As a last resort I changed the UART-> USB converter with an arduino UNO (what I had at the time) which repeat the data from the SoftwareSerial to the USB itself.
But unfortunately, without having any success, I therefore had to give up.
Thank you for the help given
Cheers