通过串行读取字符串

时间:2019-05-14 11:50:01

标签: c++ mbed

我想通过蓝牙(串行)模块将android应用程序中的字符串读取到板上。该字符串由滑块确定,其值应为-30 to 30

使用MIT应用程序构建器,该变量的输出类型不清楚:

Image

它说send text,所以我假设这是一个字符串。我想在我的代码中读取此字符串(使用mbed)。

使用:

#include "mbed.h"
#include <string>
#include <sstream>

Serial bluetooth (PTC17, PTC16);
Serial pc(USBTX, USBRX); 

void ReadSerial (void);
volatile char Slider;


int main()
{

    bluetooth.baud(38400);
    bluetooth.attach(&ReadSerial);
}    

void ReadSerial()
{
   Slider = bluetooth.getc();
    pc.printf("got string\n");
    pc.printf("string is %c\n", Slider);
}

在打印到串行终端时给我string is xstring is £或其他奇怪的符号。 Serial Output

我知道从字符串到char的转换肯定出错,但是我一直在寻求解决方案。 为什么会发生这种情况,如何将这个字符串直接写入代码中?

NB我也尝试使用bluetooth.gets()printf("", stringname.c_str())达到相同的效果。

0 个答案:

没有答案