我现在是和RS232通信,一个写线程,一个读线程
我的问题就是读线程第一次读数据时正常,
可是到了第二三...次读数据里 返回读的长度大于0
可是返回读的Buffer却为空 这是为什么呢谢谢回复!!

解决方案 »

  1.   

    从网上下载一个CSerial类,然后用这个操作把,可能是你没有配置好数据,或者没有清除寄存器。
      

  2.   

    楼上的谢谢 读的返回长度大于10
    buffer为空
    谢谢我试下
      

  3.   

    就这一个函数没法再调试了
    if( Com_Read( hHandle, pBuffer, 10, &nBufferSize, 1000 ) > 0  )  int Com_Read( HANDLE AhHandle, unsigned char* ApBuffer, unsigned long AdwBufferLen, unsigned long* AdwReadLen, unsigned long dwMaxWait ) bSuccess = ReadFile( AhHandle, // handle of file to read 
                     ApBuffer, // address of buffer that receives data 
                 AdwBufferLen,  // number of bytes to read 
             AdwReadLen, // address of number of bytes read 
         &m_ov );
      

  4.   

    楼上的还有吗
    获取缓冲区的指针   ??
    这个怎能么得到,我是刚碰到串口编程 希望多多帮忙!!谢谢
    是不是我的DCB 或其他地方的参数设置有问题呢
    我也是找这方面的资料
    我是连的一个RS232
      

  5.   

    好的谢谢楼上的  我在writecom  and readcom 后加了一个
    PurgeComm(AhHandle,PURGE_RXCLEAR);
    可以读出来了
    就是不能保证每次都能读出数据----可能是参数设置的问题
    你做过这方面的程序吗
    RS232 一般的参数设置是怎能么的呢谢谢你
      

  6.   

    好了问错地方了
    CSDN主要不是谈这个的
    下面我找到了这个工控论坛--------这个是专门谈论这方面的论坛
    希望有同样问题得不到答案的去
    这个地方看看别像我走了弯路