|
6
|
| Turing Complete · 技术社区 · 15 年前 |
|
1
11
不建议反复打开和关闭端口。查看MSDN库文章中的备注部分以了解串行端口。关闭(). 有一个后台线程需要关闭才能再次打开端口,这需要时间。时间的长短是不可预测的。 如果DataReceived事件处理程序当前正在运行,Close()方法很容易死锁。获取死锁的最典型方法是调用控制。调用()在事件处理程序中。确保事件处理程序中没有使用任何阻止或需要线程上下文切换的代码。使用BeginInvoke()就可以了。 无法终止程序是由串行端口设备驱动程序中的问题引起的。开始Taskmgr.exe,进程选项卡,视图+选择列并勾选“句柄”。如果在终止程序后,您看到Handles列显示1,那么串行端口驱动程序将挂起一个未完成的I/O请求。在退出所有内核模式线程之前,进程无法终止。 对于这个特殊的问题,除了希望有一个驱动程序更新或切换到另一个供应商之外,你几乎无能为力。尤其是USB串行端口模拟器,因为其设备驱动程序糟糕而臭名昭著。你把这样的麻烦制造者从停车场拿出来,用你的车把它碾了好几次,这样你就摆脱了它。
Fwiw,这就是为什么“安全删除硬件”托盘图标存在的原因。你会得到一个坚实的“不要这样做!”只要您的程序使用了端口,就会出错。当然,操作系统无法让用户真正使用它。苹果公司 a patent |
|
2
2
在.NET4.0之前,USB到串行端口设备(程序/系统崩溃等)可能会出现很多问题。通过在端口处于活动状态时拔出USB适配器,可以很容易地测试错误。
|
|
|
3
2
虽然有时
|
|
|
4
2
不可能?
现在我自己试试 |
|
|
5
1
用什么 BackGround 线程来轮询设备,以便它不会阻止您的应用程序退出? |
|
|
Paun Alin · 将快速串行数据写入文件(csv或txt) 7 年前 |
|
|
KSK · 如何在中检测通过串行端口或以太网连接的设备状态的变化。净额 7 年前 |
|
|
lemming · 没有这样的文件或目录c++boost库 7 年前 |
|
|
TheUberUser · JSSC DCE控制线 7 年前 |
|
|
Gordon · 在Linux中读取和写入同一文件描述符时出现问题 7 年前 |
|
|
antisycop · 串行HC-05不工作 7 年前 |
|
|
Andrey Tsarev · 从串行端口上的命令读取响应 7 年前 |
|
|
Farshad Z · 从USB GPS解码GPS坐标 7 年前 |
|
|
OlavT · 如何在Raspberry PI上设置串行端口的波特率? 7 年前 |