主题:二进制代码的传输

  共有39500人关注过本帖    
kchmn
1楼


二进制代码的传输  发帖心情 Post By:2005-12-15 16:10:00   [只看该作者]

在文件传输中,接收端要求2个byte共16bit的信号。如何在ETR232中传2进制代码?源程序中只有传char的function.是把每个byte转成ASCII 字符后再传吗??

  单帖管理 | 引用 | 回复 回到顶部
zhl
2楼


  发帖心情 Post By:2005-12-15 17:57:00   [只看该作者]

如果是指串口通讯的话,直接按照char的方式发送,不要转成ASCII码。char并不是等同于ASCII码。

  单帖管理 | 引用 | 回复 回到顶部
kchmn
3楼


  发帖心情 Post By:2005-12-16 10:45:00   [只看该作者]

是串口通讯,我说的是ASCII 字符(char),不是码(Number)。如传二进码00110000,先换成48,对应是char"0".

按照char发送是这个意思吗?如果不是,该怎么发?例,想发二进码00000001该怎么发?

  单帖管理 | 引用 | 回复 回到顶部
zhl
4楼


  发帖心情 Post By:2005-12-16 11:03:00   [只看该作者]

如:
char Buf[10];
Buf[0] = 0x48;
Buf[1] = 0x01;
len = 2;
for( i=0; i<len; i++ ) 
   PutOutputData( COM1, Buf[i] );
StartSend( COM3 );

  单帖管理 | 引用 | 回复 回到顶部
zhl
5楼


  发帖心情 Post By:2005-12-16 11:07:00   [只看该作者]

写错了。是PutOutputData( COM3, Buf[i] );

  单帖管理 | 引用 | 回复 回到顶部
kchmn
6楼


  发帖心情 Post By:2005-12-16 11:14:00   [只看该作者]

是0x48吗?0x48和48好象不一样啊 。。。

  单帖管理 | 引用 | 回复 回到顶部
zhl
7楼


  发帖心情 Post By:2005-12-16 12:26:00   [只看该作者]

0x48和48肯定不一样,二进码00110000相当与0x30。上面我是举例说明,你可根据具体情况赋值。

  单帖管理 | 引用 | 回复 回到顶部
kchmn
8楼


  发帖心情 Post By:2005-12-16 13:02:00   [只看该作者]

好的,谢谢.但是可以直接用Buf[0]=48;来定义吗?

  单帖管理 | 引用 | 回复 回到顶部
zhl
9楼


  发帖心情 Post By:2005-12-16 14:38:00   [只看该作者]

可以。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

二进制代码的传输

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: