Ich habe dann scheinbar das Talent immer die Libs zu finden die nicht gehen oder die Funktionen von denen zu verwenden die nicht richtig gehen.
So was funktioniert aber zumindest auf dem STM32L475:
Code:
#include "mbed.h"
#include <thread>
#include <atomic>
#include <chrono>
#include <iostream>
#include <string>
int main (int argC, char *argV[])
{
// Serielles Terminal initialisieren.
Serial pc(SERIAL_TX, SERIAL_RX);
pc.baud(115200);
auto func1 = [] { std::cout << "Hi Alexander" << std::endl; };
func1 ();
std::string strText1 = "Wie gehts Dir?";
auto func2 = [&] () { std::cout << strText1 << std::endl; };
func2 ();
// Das geht noch nicht "this_thread" kennt er nicht: std::this_thread::sleep_for (std::chrono::microseconds (100000));
std::string strText2 = "Gut danke ...";
auto func3 = [] (std::string& strText) { std::cout << strText << std::endl; };
func3 (strText2);
return 0;
}
Platformio.ini:
Code:
[env:disco_l475vg_iot01a]
platform = ststm32
board = disco_l475vg_iot01a
framework = mbed
upload_protocol = stlink
build_flags = -std=c++17
picoterm Ausgabe:
Code:
picocom v2.2
port is : /dev/ttyACM0
flowcontrol : none
baudrate is : 115200
parity is : none
databits are : 8
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
Type [C-a] [C-h] to see available commands
Terminal ready
Hi Alexander
Wie gehts Dir?
Gut danke ...
Wenn ich das richtig sehe kümmert sich hier mbed nur um die Ausgabe auf das serielle Terminal. Leider tun die bei mbed wieder so als wenn die Welt nur Windows hätte und macht zwar den Linefeed aber nicht den Carriage Return. Deshalb sind die Zeilen dann eingerückt. Habe aber leider keine Ahnung was man da bei picocom umstellen muss damit es tut wie Windows bei Zeilenumbruch.
<Edit>
Das hat mir gerade jemand geflüstert: picocom /dev/ttyACM0 --imap lfcrlf -b 115200
So werden die Zeilen richtig untereinander ausgegeben.
</Edit>
Lesezeichen