去网上下一个能用的串口调试助手,确保其能与下位机正常通讯,搞清楚下位机给上位机发送的内容到底是什么,也就是确认到底是编写的软件不对导致接收不正常还是下位机根本没有发出任何信息
调试的时候在“variant_inp=m_Comm.GetInput(); //读缓冲区”设置断点,当下位机发出信息时,看是否能在断点处中断,若能说明确实有数据进入串口,触发了消息响应函数
逐过程调试看“len=safearray_inp.GetOneDimSize(); //得到有效数据长度”,看变量len是否为0,比如我给上位机发送“1234”,len的值则会变为4;如果len仍为0,则应考虑你所参考的串口通讯的代码是否正确。
数据转换最复杂
建议看 龚建伟的教程