串口调试工具 可以用来调试 串口通信程序。
检测电脑的串口是否正常:如果只有1台电脑,可以 短接 串口 的 2、3针这敏空时可以用 串口调试工具 发送数据,如果 串羡拿让口功能正常,串口调试工具 的接收窗兄局口 会有数据 回显;否则,串口功能不正常。
当然,1台电脑也可以用 串口调试工具 来调试 串口通信程序,这时 就不需硬件,但需要 虚拟串口软件工具。
你在你的串口类SerialPort里面加一个线程函数或者回调函数private函数:static DWORD WINAPI ReceiveData(LPVOID lpParam) //线程函数
static WORD ProcessReceiveData(void* data);
void ProcessData(DWORD (*Func)(void*) )//回调函数
然后再你接收数据的地方创建一个线程或者回调函数来处理你从串口接收到的数据:
CreateThread(NULL, 0, ReceiveData, this(或者你传入的参数) ,NULL, 0);//忘记了函数参数啊 或握枯者
ProcessData(ProcessReceiveData);
最后将该数据在编辑框中显示出来就可以了
(CEdit*)GetDlgItem(和伏ID_xxx)->段棚洞SetWindowsText("DATA")
只是提供一个思路
是不是端口句柄绝缺初始化问题?看看下面并物辩代码吧
DCB dcb
m_hIDComDev=CreateFile( "COM2"蚂启, GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, NULL ) // 打开串口,异步 *** 作
if( m_hIDComDev == NULL ) return( FALSE )
dcb.DCBlength = sizeof( DCB )
GetCommState( m_hIDComDev, &dcb ) // 获得端口默认设置
dcb.BaudRate=CBR_4800
dcb.ByteSize=8
dcb.Parity= NOPARITY
。。。。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)