运用JustinIO做和串口通信的程序过程中遇到两大问题:
1)SetCommState 一直不成功;
if (!SetCommState(hComm, ref dcbCommPort))
{
uint ErrorNum=GetLastError();
throw (new ApplicationException("Comm Port Can Not Be Opened2"));
}
2)在打开串口后关闭串口,下一次再打开串口出现错误。
两个问题一一得到解决。
一、 针对第1)个问题,是因为结构体public struct DCB 中的一部分被注释了,需要去除注释得到。
二 、 针对2)个问题因为JustinIO的 close函数不够完善,在关闭后没有将 opened 从TRUE 变为FALSE。
在C#程序中使用JustinIO库进行串口通信时,遇到了SetCommState设置失败和关闭串口后无法再次打开的问题。通过检查DCB结构体的注释,确保所有字段都被正确使用,解决了第一个问题。对于第二个问题,发现JustinIO的Close函数未将Opened标志设为FALSE,修改后解决了串口重新打开的错误。
2631

被折叠的 条评论
为什么被折叠?



