mbed从pc接收字符串

时间:2018-03-19 03:58:46

标签: serial-port mbed

我正在学习mbed,并做一些例子。我的代码是从我的电脑发送随机字符串“ccc”到微控制器LPCXpresso。

enter code here
#include "mbed.h"

DigitalOut myled(LED1);
Serial pc(USBTX, USBRX);

int main() {
    char c;
    char buffer[128];
    myled = 1;

    pc.gets(buffer, 4);

    pc.printf("I got '%s'\n", buffer);
    if(buffer == 'ccc'){
       myled = 0;
    }    
}

我输入'ccc',printf确实返回消息:我得到'ccc'。但是,在if语句中,如果我使用(buffer =='ccc'),我会看到错误消息:错误:操作数类型在“main.cpp”中不兼容(“char *”和“int”)。如果我使用(缓冲区==“ccc”)我的指示灯没有按预期点亮,因为我知道缓冲区是ccc。

我怎么能让它有效?

1 个答案:

答案 0 :(得分:0)

您无法比较C / C ++中的字符串。使用strcmp。 E.g:

if (strcmp(buffer, "ccc") == 0) {