0

我想做一个正在运行的任务(ListenResponse()),它不断地监听并向串口发送数据。同时,我想添加另一个任务(WriteParameter),通过它设置一些参数,然后将其发送到串口。问题是,现在我正在使用两个异步任务,但是线程中的数据更新得不够快。它在 ListenResponse() 任务的几次迭代后更新。

伪代码如下:

string data;
void ListenResponseSerial() {
    byte b;
    while (true) {
        b = getSerialData(&b);
        parse(b);

        if (parsed) {
            Respond(data);
        }
    }
}

public async Task<object> ListenResponse(dynamic input) {
   (new Task(ListenResponseSerial)).Start();
}

public async Task<object> Write(dynamic input) {
    IDictionary<string, object> payload = (IDictionary<string, object>)input;
    data = (string) payload["data"];
    return null;
}

非常感谢您的帮助。

4

0 回答 0