串口通信中多线程的问题?倾家荡产,分数全部送上
我在程序员大本营 找到 VC++ ->VC源码集合 ->其他处理->A communication class for serail port,做串口通信这个类总的来说不错,但是发现了一点问题,我无法解决,希望得到各位帮助。
我在工程里通过初始一个对话框来初始化4个串口,当然有两个未用,显灰。这是对的,可是我关闭对话框后重新再开启对话框,这时串口的初始化就有问题了,4个全部显灰,这肯定是不对的。我跟踪发现,第二次初始化的时候,调用的CREATEFILE函数返回无效的句柄,导致创建无效。而我在关闭对话框的时候,各个串口已经全部关闭,不存在串口被占用的问题。我怀疑是工作线程在搞鬼,因为如果将这个对话框直接做一个应用(进程)的话,关闭再开就不会有这个问题。但是究竟在哪里出的问题,我还是无法找到。
这是个不错的东东,如果有兴趣,希望一起研讨。