0

我想将我的项目移植到新的技术堆栈。

当前堆栈:

  • C#
  • UWP
  • 视窗物联网
  • 树莓派 3

新堆栈

  • C++
  • 接线Pi
  • Linux(可能是 Raspbean)
  • 树莓派 3

我想这样做的原因之一:我需要用于监听 UART 的循环:

private async Task<byte> getByte()
{
    uint loaded = 0;

    do
    {
        loaded = await dataReaderObject.LoadAsync(1);
        Task.Delay(-1).Wait(10);
    } while (loaded == 0);

    return dataReaderObject.ReadByte();
}

但是,我在 WiringPi 中发现的是类似的:

int serialGetchar (int fd) ;

返回串行设备上可用的下一个字符。如果没有可用数据,此调用将阻塞最多 10 秒(当它返回 -1 时)

这里得到

有没有类似跟随代码的东西?

WiringPiCPPLib.UARTDataReceived += OnDataReceived;
void OnDataReceived(byte[] data) { ... }

我想要基于事件的 UART 处理而不是while(true)样式。

4

0 回答 0