我想将我的项目移植到新的技术堆栈。
当前堆栈:
- 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)
样式。