我想通过蓝牙(串行)模块将android应用程序中的字符串读取到板上。该字符串由滑块确定,其值应为-30 to 30
。
使用MIT应用程序构建器,该变量的输出类型不清楚:
它说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 x
或string is £
或其他奇怪的符号。 。
我知道从字符串到char的转换肯定出错,但是我一直在寻求解决方案。 为什么会发生这种情况,如何将这个字符串直接写入代码中?
NB我也尝试使用bluetooth.gets()
和printf("", stringname.c_str())
达到相同的效果。