我在使用SerialPort发送十六进制数据时,消息中一遇到0x00就自动截止,导致0x00后面的消息丢失,下面是发送部分代码:
bool CSerialCommDlg::SendCommand(byte strCommand[7])
{
m_spSerialPort.WriteToPort((char*)strCommand);
return true;
}
也就是说strCommand数组中一遇到0x00发送就截止了,请教大虾们如何解决。本人分数不多就只有这么点了。。如果有好的例子源代码,麻烦发一个到我邮箱,谢谢大家了。我的邮箱:42361845@qq.com,在线等
我是在vs2005 MFC使用的SerialPort类,不是vc6.0的,该问题我已经自己解决了,问题根源在于SerialPort类的WriteToPort函数用了strcpy函数,该函数读取字符时遇到0x00就结束了。修改WirteToPort函数那点实现即可,现在就是不知道如何不修改直接用。我是换了一个串口类使用,解决该问题的,很遗憾没人来回答我的问题,想直接结束问题,但是分又白扣了。懂撒~~
MFC SerialPort类 中消息发送问题
答案:1 悬赏:0 手机版
解决时间 2021-02-25 06:50
- 提问者网友:不爱我么
- 2021-02-24 20:33
最佳答案
- 五星知识达人网友:不甚了了
- 2021-02-24 21:53
应该不是停止了,只是显示的时候遇到空字符串就截止了的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯