good afternoon, here I am again with the news, which is not good news ...
I tried all the changes you indicated to me and the result was not satisfactory, I will document the results here:
Changing sercom line 81 to term1 += (SystemCoreClock /2)
Speed on port is now 322 bps
Commenting sercom line 81 // term1 -= (SystemCoreClock /2)
speed on port is now 277 bps (same as uncommenting line 81)
Comparative changing sign on line 81 of sercom
Replacing the three files with arduino samd21 core files
speed on port is now 1666 bps, a disaster!!!
Well, finally I still don't understand why it is not possible for such hardware to achieve a speed of 300bps when it would have to be very simple.
Unfortunately I do not quite understand the adjustments at the level of records made by the code in the SAMD21, but I think there is the key.
I also don't understand what clock speed the SODAQ EXPLORER has, in the schematic I only see a crystal of 32,768 Khz ... does it perhaps multiply it internally then with a PLL?
It is a pity that the sodaq explorer boards do not allow operating at 300bps, I am with a metering project, and all electrical meters with IEC standard, start dialoging at 300bps.
I am among the options of putting a MAX3100 as UART, but I consider it a waste, the other option is to change to another platform different from SODAQ EXPLORER, which I hope I don't have to reach that end.
If you suggest any other test, I am happy to do it, but I understand that they are also tests that the SODAQ team should perform, since it is a serious failure.