串口通信数据接收帧的设计

qq_23913313 2015-04-15 06:12:04
[b]总共四个参数数 帧头帧尾 如下
EB1xxxxxxxCF
EB2xxxxxxxCF
..
现在我的程序是这样的 后面该怎么设计 新人求指导
[/b]

void CSCommTestDlg::OnComm()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k,i,m,n,l;
i=0,m=0,n=0,l=0;
BYTE rxdata[2048]; //设置BYTE数组
CString strtemp;
if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
{
variant_inp = m_ctrlComm.GetInput(); //读缓冲区
safearray_inp = variant_inp; //VARIANT型变量装换为ColeSafeArray型变量
len = safearray_inp.GetOneDimSize(); //得到有效数据长度
for(k = 0;k<len;k++)
{
safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
}
for(k = 0;k<len;k++) //将数组转换为Cstring型变量
{
BYTE bt = *(char*)(rxdata+k); //字符型
strtemp.Format("%c",bt);//将字符送入临时变量strtemp存放
m_strEditRXData+= strtemp;//加入接收编辑框对应字符串
}
...全文
260 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
笨笨仔 2015-04-16
  • 打赏
  • 举报
回复
收到数据 1、检查帧头帧尾是否正确,不正确就丢掉 2、过滤帧头帧尾 3、校验检查,不正确丢掉,正确就保存有效数据 数据块太大,一帧不能满足时,可使用缓冲池保存所有收到的数据,处理时需要在池中查找,并在处理完成一块数据后立即维护数据池。
qq_23913313 2015-04-15
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
你收到数据后,就是按协议去除 头尾的信息
可以具体一点么 新手
oyljerry 2015-04-15
  • 打赏
  • 举报
回复
你收到数据后,就是按协议去除 头尾的信息
串口监控器是一个免费的多功能串口通讯监控软件,它能够多种方式显示,接收,分析通讯数据;能够以多种灵活方式发送数据;功能强大,操作简便,在串口通讯监控,设备通讯测试中,能够有效提高工作效率。 主要功能如下: 接收数据: 1. 以十六进制方式显示接收到的数据。 2. 以字符方式显示接收到的数据。 3. 数据自动识别,分行显示。 4. 接收数据自动换行设置。 5. 显示或隐藏数据接收时间。 6. 自动清除,自动保存接收到的数据。 7. 接收数据个数计数。 发送数据: 1. 十六进制方式发送数据。 2. 字符串方式发送数据。 3. 发送“发报窗口”当前光标行的数据。 4. 循环发送“发报窗口”当前光标行的数据。 5. 循环发送“发报窗口”固定行的数据。 6. 循环依次发送“发报窗口”的多行数据。(设置起始行,行数) 7. 触发发送,接收到“发报窗口”某一行数据,触发发送“发报窗口”另一行数据。 8. 发送数据个数计数。 实用增强功能: 1. 强大易用的进制转换功能。 2. 智能识别当前光标处数据的行号,“字符”或“十六进制数”的个数。 3. 智能计算当前选择的“字符”或“十六进制数”的个数。 4. 强大的数据查找功能。 5. 定时保存,定时清除数据。 6. 根据自己的喜好,灵活变换操作界面。 应用场合: 1. 截取和分析设备之间通讯数据流。 2. 串行外围设备硬件开发。 3. 串行设备驱动程序开发。 4. 调试和测试设备和设备之间的串行通讯过程。 5. 记录和分析RS232/422/485通信过程。 6. 模拟某设备通讯过程,对另外设备进行通讯测试。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧