需要有关在C++/CLI中通过串行端口进行通信的建议
Need advice about communication via serial port in C++/CLI
我正在进行一个项目,我必须通过串行端口进行通信。我将通过RS232从UART接收相当"大量"的数据(大约6KB/10ms),我必须收集并解码。解码后的数据将被存储到文件中,其中一些数据将被显示在GUI中。
我将使用C++/CLI(在Visual Studio 2010中使用.NET v4.0),因为托管数据工作和大量库。
我的主要问题是:你会向我推荐什么:
A)不使用线程,通过定时器每5ms查找数据
B)不使用线程并根据传入数据的事件查找数据
C)使用线程
你给我推荐什么?我没有太多的经验来判断什么是最好的解决方案。
感谢您今后的回复。。。
如果您需要一个gui,则需要一个单独的线程来获取数据。没有办法可靠地获得每x毫秒的数据,并在ui线程中进行处理。
除此之外,你似乎对线程的作用有些困惑:a和B可以与C组合。我建议使用单独的线程轮询端口以获取数据,或者使用事件来检查新数据何时到达。计时器可能不准确,毕竟它是端口决定数据进入的速率,所以最好听它,而不是使用单独的时基。将处理后的数据存储在一个队列(又名生产者)上,并让另一个线程(又名消费者。ui线程还可以从该队列中预览并显示数据片段。
相关文章:
- Qt Q串行端口未编程设备未关闭
- 在 linux c++ 中没有通过串行端口发送的数据
- 检查串行端口Linux中是否有传入数据(cbInQue for linux)
- 在不传输的情况下更改 Win32 中的串行端口波特率
- 增强 ASIO 和串行端口异步读取
- 串行端口写入究竟如何从缓冲区实际写入数据?
- 如何将参数这些串行端口传递到函数中
- 从 C/C++ 访问 Android 中的串行端口
- Qt两个串行端口发送和接收
- 通过串行端口从GPS传感器读取
- 提升 asio 串行端口"end of file"
- 通过串行端口发送多个值
- 对传统串行端口通信进行逆向工程
- 串行通信 c++ 串行端口类
- 基本串行端口通信Visual Studio C++(在浏览现有示例中时遇到问题)
- 串行端口通信
- 需要有关在C++/CLI中通过串行端口进行通信的建议
- 串行端口通信 - PuTTY 仿真
- Qt串行端口通信
- Arduino和PC之间通过Usb串行端口(C++控制台应用程序)进行通信