打印

这4行程序什么意思,我怎么觉得多余那

[复制链接]
2943|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tingtang|  楼主 | 2010-3-15 12:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是一个串口通信,这是校验的一部分
c2=m_chChecksum & 0x0f; c1=((m_chChecksum >> 4) & 0x0f);
if (c1 < 10) c1+= '0'; else c1 += 'A' - 10;
if (c2 < 10) c2+= '0'; else c2 += 'A' - 10;

什么意思?

if (c1 < 10) c1+= '0'; else c1 += 'A' - 10;
if (c2 < 10) c2+= '0'; else c2 += 'A' - 10;

这是干什么的不是已经校验完了吗?

相关帖子

沙发
liao_fangxing| | 2010-3-15 16:33 | 只看该作者
那里检验完了??
PS:  就贴了这么几行程序 看不出是想干啥

使用特权

评论回复
板凳
high| | 2010-3-16 15:11 | 只看该作者
看意思 是要转成可显示字符。显示出16进制

使用特权

评论回复
地板
tingtang|  楼主 | 2010-3-17 10:27 | 只看该作者
2# liao_fangxing


这是采数据

void CSerialPortTestDlg::OnButtonSend()
{
// TODO: Add your control notification handler code here
if(!m_bSerialPortOpened) //检查串口是否打开
{
  AfxMessageBox("串口没有打开");
  return;
}
UpdateData(TRUE); //读入编辑框中的数据
CString strSend=""; //要发送的NEMA字符串
//以下读入9个开关的设置状态
for(int i=1;i<=9;i++)
{
  if(GetSwitchStatus(i))
   strSend+='1';
  else
   strSend+='0';
}
CString strTemp;
strTemp.Format("%02d",m_unEditPosition);
strSend+=strTemp;
strTemp.Format("%03d",m_unEditVelocity);
strSend+=strTemp;
SendNMEAData(strSend);
}


下面是我要问的
void CSerialPortTestDlg::SendNMEAData(CString &strData)
{
char checksum=0,cr=13,ln=10;
    char c1,c2; //2个 半Bype 校验值
for(int i=0;i<strData.GetLength();i++)
  checksum = checksum^strData;
    c2=checksum & 0x0F; c1=((checksum >> 4) & 0x0F);
    if (c1 < 10) c1+= '0'; else c1 += 'A' - 10;
    if (c2 < 10) c2+= '0'; else c2 += 'A' - 10;
CString strNMEAData;
//加上包头,尾和校验值和回车换行符
strNMEAData='$'+strData+"*"+c1+c2+cr+ln;
//以下几行程序关不通用,在自己的程序中注意修改
m_SerialPort.WriteToPort((LPCTSTR)strNMEAData);
m_strEditSendMsg.Format("发送的数据包为:%s",strNMEAData);
UpdateData(FALSE);  //在发送显示编辑框中显示发送的数据包
}

使用特权

评论回复
5
tingtang|  楼主 | 2010-3-17 10:30 | 只看该作者
m_unEditPosition

m_unEditVelocity都是十进制的

假如说采完是10011100023098,这个23098和前面的0或者1异或是什么那?????????????????

使用特权

评论回复
6
ejack| | 2010-3-26 12:49 | 只看该作者
LZ,人家3L已经跟你解释得那么清楚了

使用特权

评论回复
7
ejack| | 2010-3-26 12:54 | 只看该作者
//加上包头,尾和校验值和回车换行符

而且注释里面也写明了

使用特权

评论回复
8
牛牛特工| | 2010-3-26 17:11 | 只看该作者
同3楼

使用特权

评论回复
9
流金岁月| | 2010-3-28 21:06 | 只看该作者
ASCII转化

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

147

帖子

0

粉丝