| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2132 人关注过本帖
标题:请高手看下,API串口通讯问题?只接收到第一个字符。
取消只看楼主 加入收藏
bygoodssn
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-7-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
请高手看下,API串口通讯问题?只接收到第一个字符。
Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long
》》》》》》》》》》》》》》》


Public Function ReadData(fhdata As String, Optional lngSize As Long = 255, Optional Outtime As Long = 2000, Optional txtRecv As TextBox) As Long
    On Error GoTo Routine_Exit                                   '打开错误陷阱


    If (com_Handle = 0) Then
        ReadData = 0
        Exit Function
    End If


    Dim lngBytesRead As Long
    Dim fReadStat As Long
    Dim lngErrorFlags As Long
    Dim lngStatus As Long
    Dim udtCommStat As COMSTAT

    '读数据
     If ClearCommError(com_Handle, lngErrorFlags, udtCommStat) <= 0 Then
        PurgeComm com_Handle, PURGE_RXABORT Or PURGE_RXCLEAR
    End If
        fhdata = Space$(255)
        
        fReadStat = ReadFile(com_Handle, ByVal fhdata, lngSize, fReadStat, m_OverlappedRead)
        txtRecv.Text = txtRecv.Text & Trim$(fhdata)
        ClearInBuf                                         '清除缓冲区
   
    ReadData = lngBytesRead
   
    Exit Function
Routine_Exit:
    ReadData = 0
End Function
2016-07-19 10:24
bygoodssn
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-7-19
收藏
得分:0 
谢谢,这是字节数组与字符数组转换存在问题。
2016-07-19 17:23
bygoodssn
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-7-19
收藏
得分:0 
五楼正解。。。
2016-07-21 15:30
快速回复:请高手看下,API串口通讯问题?只接收到第一个字符。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018166 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved