这是我第一次用MFC解析通信协议,自然问题多多,还好现在已经把该有的数据给解析出来了,包括com口,波特率的值115200,数据位 8,这些事串口基本参数的配置,还有超时参数的配置,但是对协议的整体流程还不是很清楚,首先你要打开串口,然后从串口中接收数据,这里的读取需要用线程去读,每次读一个buf,然后对这个buf进行判断,根据通信协议的文档判断每一个buf是什么意思,然后把它存到相应的字符中,便于后面的使用,说白了,这个解析的过程就是不停的对字符串进行取值,赋值的一个简单的过程,但是注意这里用到一个算法,右移!从一个高八位unsigned char buf转换成十进制是buf<<8,还有一个低级错误是if居然使用错了,每判断完一个buf后应该return的,这个以后一定要注意。按钮的图片替换有一点要注意,m_Btn[i].LoadBitmap(BtnSkinN, BtnSkinD);有时候效果并不明显,必要的时候需要刷一下::BitBlt(Memdc,ICON[i].left,ICON[i].top,ICON[i].Width(),ICON[i].Height(),这是我第一次用MFC解析通信协议,自然问题多多,还好现在已经把该有的数据给解析出来了,