VC++6.0利用mscomm控件与PLC进行串口通信,接收到的数据确实“烫烫烫烫”。哪位高手知道这好似什么原因吗
3个回答
展开全部
首先将端口串行化:
commh = CreateFile(tmpstr, GENERIC_READ,GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
然后设 DCB。读使用 ReadFile(hComm, lpBuf, READ_BUF_SIZE, &dwRead, &osReader); 写使用 WriteFile(hComm, lpBuf, dwToWrite, &dwWritten, &osWrite);
也可以使用 _inp, _outp 来直接写串口的端口。
commh = CreateFile(tmpstr, GENERIC_READ,GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
然后设 DCB。读使用 ReadFile(hComm, lpBuf, READ_BUF_SIZE, &dwRead, &osReader); 写使用 WriteFile(hComm, lpBuf, dwToWrite, &dwWritten, &osWrite);
也可以使用 _inp, _outp 来直接写串口的端口。
展开全部
推荐看书
Visual C++_Turbo C串口通信编程实践
数据转换 想到 复杂
此书内有 详细 程序
Visual C++_Turbo C串口通信编程实践
数据转换 想到 复杂
此书内有 详细 程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同学,配置好串口 波特率,可能波特率对不上
用串口调试助手看看收到的16进制值是多少,如果超出ascii能显示的字符范围也可能显示乱码的
用串口调试助手看看收到的16进制值是多少,如果超出ascii能显示的字符范围也可能显示乱码的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询