关于串口的问题

netcpp 2003-06-23 03:34:59
有com1和com2两个串口,同样的代码在使用COM2时执行成功,但在COM1时,CreateFile成功,后续函数都失败了,使用GetLastError()返回1,也就是ERROR_INVALID_FUNCTION,但小弟对这个错误码的意义不理解,而且对失败的原因也很困惑,希望不吝指教!!!
...全文
62 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
netcpp 2003-06-25
  • 打赏
  • 举报
回复
ok!
netcpp 2003-06-24
  • 打赏
  • 举报
回复
to athlonxpx86 : 应该不和DCB的设置相关,因为还没有到设置DCB就失败了,GetCommState失败!而且RS-232和RS-485只需要设置几个特定的项目,其他的默认值应该不会有大的影响。其实返回错误就返回错误,我觉得是系统的问题,换到COM2口就可以了,但是我们的测试部门非要有个理由不可,真的不知道怎么做好?
to nowar : 我也感觉是系统的问题,但不知道那个返回值的实际意义,什么叫incorrect function,应该不是识别不了这些函数。如果不能识别的话, 在调用DLL的时候就应该判断出来了吧,应该不会在执行期,调用该函数的时候才发现没有这个函数。
netcpp 2003-06-24
  • 打赏
  • 举报
回复
to nowar :上述的函数失败,返回zero,GetLastError 返回 1: 就是incorrect function!
to athlonxp86 : 只能这样了。谢谢!
nowar 2003-06-24
  • 打赏
  • 举报
回复
“SetCommMask,SetupComm,SetCommTimeouts,GetCommState,SetCommState,都失败,且返回的都是1,”

是函数返回的值为1,还是GetlastError()返回的是1?
AthlonxpX86 2003-06-24
  • 打赏
  • 举报
回复
应该是硬件上的问题,不是系统问题,因为被测机器的com2正常com1不正常,说明应该不是软件系统的问题啊
nowar 2003-06-23
  • 打赏
  • 举报
回复
感觉象是系统的问题,识别不了那些函数
AthlonxpX86 2003-06-23
  • 打赏
  • 举报
回复
虽然你设置了DCB,但是两台机器上的DCB可能还是不相同的,我就遇到过这样的事情,因为DCB有许多项目,你只设置了几项其他的默认项目可能会不同,
netcpp 2003-06-23
  • 打赏
  • 举报
回复
只有CreatFile是成功的,后面的SetCommMask,SetupComm,SetCommTimeouts,GetCommState,SetCommState,都失败,且返回的都是1,就是InCorrect function,真的不知道它所代表的意义。难过!
netcpp 2003-06-23
  • 打赏
  • 举报
回复
DCB的设置应该不会有什么问题,因为在我自己的机子上COM1和COM2都是好的,但在测试机上出现上述的问题。真的很迷惑。
AthlonxpX86 2003-06-23
  • 打赏
  • 举报
回复
我怎么觉的是硬件损坏,或者是你的DCB设置的还有些问题
netcpp 2003-06-23
  • 打赏
  • 举报
回复
to xiaohedou, 这两种做法都是修改外部条件,不知有没有通过程序来判断的呢?
xiaohedou 2003-06-23
  • 打赏
  • 举报
回复
参考:1>把机器打开,将COM2的连接线接在COM1上,可以判断到底是不是COM口本身的问题!
2>检查BIOS里关于COM口的设置,应该是UART1 & UART2,强行设置为COM1=0X3F8/INT4
COM2=0X2F8/INT3

netcpp 2003-06-23
  • 打赏
  • 举报
回复
to zfive5 : 兄台的意思是?
netcpp 2003-06-23
  • 打赏
  • 举报
回复
在我自己的机子上是OK的,但在人家的机上有问题。我现在不清楚的是GetLastError()的返回值1所代表的意义?ERROR_INVALID_FUNCTION? Incorrect function. 不知道指的是什么?
to zyoujie:CreateFile是成功的,使用GetLastError查看他的返回值是0,是不是可以判定COM1没有被占用呢?
AthlonxpX86 2003-06-23
  • 打赏
  • 举报
回复
不清楚,你在别的机器上试试
zyoujie 2003-06-23
  • 打赏
  • 举报
回复
检查机器配置,COM1在不在,或者是否已被占用
醉马不肖 2003-06-23
  • 打赏
  • 举报
回复
一般鼠标以用

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧