首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC 调用SerialPort.h和SerialPort.cpp做串口调试 怎么判断字符串接受结束,小弟我想添加换行

2012-04-28 
MFC 调用SerialPort.h和SerialPort.cpp做串口调试 如何判断字符串接受结束,我想添加换行#define WM_COMM_B

MFC 调用SerialPort.h和SerialPort.cpp做串口调试 如何判断字符串接受结束,我想添加换行
#define WM_COMM_BREAK_DETECTEDWM_USER+1// A break was detected on input.
#define WM_COMM_CTS_DETECTEDWM_USER+2// The CTS (clear-to-send) signal changed state.?
#define WM_COMM_DSR_DETECTEDWM_USER+3// The DSR (data-set-ready) signal changed state.?
#define WM_COMM_ERR_DETECTEDWM_USER+4// A line-status error occurred. Line-status errors are CE_FRAME, CE_OVERRUN, and CE_RXPARITY.?
#define WM_COMM_RING_DETECTEDWM_USER+5// A ring indicator was detected.?
#define WM_COMM_RLSD_DETECTEDWM_USER+6// The RLSD (receive-line-signal-detect) signal changed state.?
#define WM_COMM_RXCHARWM_USER+7// A character was received and placed in the input buffer.?
#define WM_COMM_RXFLAG_DETECTEDWM_USER+8// The event character was received and placed in the input buffer. ?
#define WM_COMM_TXEMPTY_DETECTEDWM_USER+9// The last character in the output buffer was sent. ?

SerialPort.h里面的, WM_USER+7是所接受字符的缓冲区, 但是在ONCommunation()读取是一个一个读取的,如何判断读取的一串字符结束了。 如我从其他地方不停地输入 "abcdeg",如何显示为
abcdeg
abcdeg
abcdeg
用超时??

[解决办法]
你可以在收到一定数量后就加个换行符,如果你想接收完一帧后再换行,你就只能通过两个字符时间间隔来判断了.除非你知道一帧的数量是多少
[解决办法]
自己判断,你就认为串口的数据象流水一样不断,你认为最后就是最后

热点排行