目前位置: VCer资源中心 >>> VCer论坛 >>> 技术问答

[本帖已阅读3245次 分值2 回复3次] 张贴资源 发回信箱 控制面板

请问关于vc串口通讯的一个问题

提供者:litkin 张贴时间:2004-06-08 17:25:24.0 出处:vcer.net 作者:不祥

请问关于vc串口通讯的一个问题(2004-06-08 17:25:24.0)


蓝狮


 
级别: VCer小兵
头衔: VCer会员

经验: 15
作品: 1
分会: 华南分会
注册: 2004-06-08 17:03:51.0
登录: 2004-06-09 14:28:50.0

我现在用pc 和rs232 通讯

发送代码给rs232 ,然后rs232发回一串字符,接收串口发回数据的部分程序如下

if(m_Comm.GetCommEvent()==2)

  {            

          variant_inp=m_Comm.GetInput(); //读缓冲区

          safearray_inp=variant_inp;     //VARIANT型变量转换为ColeSafeArray型变量

          len=safearray_inp.GetOneDimSize(); //得到有效数据长度

          for(k=0;k<len;k++)

          safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组  接下去转为字符,字符串

本来应该是收到一串字符,可是调试时发现len=1,只接收到一个字符。估计是由于串口发送的时候有延迟?

现在有一个想法,就是

   当rs232 每发送一个字符就对它进行处理,把它一个个转换类型再叠加起来,这就需要一个事件处理函数,vc有这样的函数吗?

这个想法可行吗?

 

注:转载文章需注明来源:VCer.net 文章地址:http://vcer.net/2477.html

  如果你觉得VCer.net不错,而且你愿意为VCer.net捐赠一元钱,那么点击后面的捐赠按钮吧:) vcer.net捐赠

[回复该贴] [加入个人书签]

re:请问关于vc串口通讯的一个问题
对于数据是否发送完毕,你应该定义自己的协议用于表示数据的结尾!

jerry 于 2004-06-09 11:32:37.0 编辑 [回复该贴]