我想在MBED中使用RX_interrupt获取字符串

问题描述

我正在尝试使用Mbed编写代码,但是存在一些问题。

问题是我想获取“字符数组”。 如果我将“ abcde”发送到Mbed板,则该板将获得“ abcde”并执行某些操作。

这是我的代码

#include <mbed.h>

char message[200];

void Rx_interrupt();

int i;

Serial pc(PA_2,PA_3);

int main() {
   pc.baud(115200);
   pc.attach(&Rx_interrupt,Serial::RxIrq);
   while (1) {
   }
   return 0;
}

void Rx_interrupt() {
    char a1[6] = "abcde";

    memset(message,sizeof(message));
    i = 0;
    while (pc.readable()) {
        message[i] = pc.getc();
        i++;
    }

    if (!strcmp(a1,message)) {
        pc.printf(message);
    }
    else {
        pc.printf("FAIL");
    }
}

如果我发送“ abcde”,则董事会应打印“ abcde”。这是我的目的。

但是面板仅打印“ FAIL”一次。我该怎么办?

我认为pc.getc()存在一些问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)