Page 1 of 1

STM32F103, USART, SoftwareSerial Library

Posted: Thu Jun 04, 2020 2:41 pm
by toritto
Greetings to all developers, I'm new to the world of stm32duino.

I need to send data with Usart, but I cannot use the Software Serial library with stm32f103.
Is there a similar library or what would you recommend me to do?
I am using stm32f103 I program with stlink.

Re: STM32F103, USART, SoftwareSerial Library

Posted: Thu Jun 04, 2020 2:52 pm
by fpiSTM
Hi,

which core you used?
viewtopic.php?f=2&t=301

Why need specifically a software Serial? STM32 has several hardware Serial (Ex: STM32F103C8 has 3 USART)

The STM32 Core provides a SoftwareSerial library for compatibility but I do not advise to use it if you can use a hardware one.
For LibMaple core I don't know if it has a SoftwareSerial library.

Re: STM32F103, USART, SoftwareSerial Library

Posted: Thu Jun 04, 2020 7:49 pm
by toritto
i use stm32f102c8t6 with arduino ide.
i use Adafruit Ultimate GPS, LPS25HB pressure sensor and Xbee Pro S2C.
I need softwareserial library because i dont know how can i usart without this library.
maybe you can help me.

Re: STM32F103, USART, SoftwareSerial Library

Posted: Thu Jun 04, 2020 8:31 pm
by fpiSTM
well first answer the question: which core you used ?

Re: STM32F103, USART, SoftwareSerial Library

Posted: Thu Jun 04, 2020 8:48 pm
by mrburnette
Many years ago, w/Roger's core when it had not diverged much from LeafLab's original work. It may compile these days, but I hacked the Adafruit stuff at the time.

https://www.hackster.io/rayburne/color- ... ock-a8b121

The libraries are in the zip download. If using Linux, the #includes need to have the backslash '\' changed to slash '/' ... in fact, both Windozs and Linux respect the "slash" so no need to use the back-slash any more.

Code: Select all

/*Please review License.h tab for use/rights information regarding included libraries
  GPS_Time_Baro based on original sketch by M. Ray Burnette 3/02/2014
  Arduino 1.6.1 - Maple Mini Port STM32F103 by Ray Burnette 3/09/2015 PUBLIC DOMAIN by Author
    Sketch uses 46,360 bytes (42%) of program storage space. Maximum is 108,000 bytes.
    Global variables use 5,752 bytes of dynamic memory.
*/

#include <SPI.h>                                     // \Documents\Arduino\hardware\STM32\STM32F1\libraries\SPI
#include <Wire.h>                                    // I2C \Documents\Arduino\hardware\STM32\STM32F1\libraries\Wire (legacy)
#include <Streaming.h>                               // \Documents\Arduino\libraries\Streaming (legacy)

#include ".\BMP085.h"                                // #include "I2Cdev.h" is pulled in also
#include ".\Adafruit_GPS.h"
#include ".\Adafruit_GFX.h"
#include ".\Adafruit_ILI9341.h"
#include ".\SoftwareSerial.h"                        // faux version only for STM32 Maple
#include ".\Utilities.h"
Good luck,

Ray