Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2349143
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:00:19

多谢站长,你给我的提示OK,我已能把数据读过来,但读过来的数据为61434848,应为=+123......之类才对,(其中二次仪表回答的固定格式:第一位=是固定不变的,第二位为+或-号,第三位起是数字,小数点,例如:=+123.6)
我想是不是数制转换问题,如果是该怎么转换?(有没有十六进制转十进制的函数?)
代码:
    unsigned char In_Buf[4];
    AnsiString s;
    int n;
    char Out_Buf[4];
    Out_Buf[0] = 0x23;////ASCII #
    Out_Buf[1] = 0x30;//ASCII 0
    Out_Buf[2] = 0x31;//ASCII 1
    Out_Buf[3] = 0x0d;//回车
    YbCommDevice1->Write(Out_Buf,4);
    Sleep(50);
    n=YbCommDevice1->Read(In_Buf,4);
    for(int i=0; i    {
       s += In_Buf[i];//把字符转化为字字符串
       s = s.Trim();
    }
    Edit1->Text="";
    if(!s.IsEmpty())
        Edit1->Text=s;

--------------------next---------------------

阅读(1556) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~