主题:二进制代码的传输 共有56152人关注过本帖 |
---|
kchmn |
1楼 |
![]() |
二进制代码的传输 ![]()
在文件传输中,接收端要求2个byte共16bit的信号。如何在ETR232中传2进制代码?源程序中只有传char的function.是把每个byte转成ASCII 字符后再传吗??
|
单帖管理 | 引用 | 回复 ![]() |
zhl |
2楼 |
![]() |
![]()
如果是指串口通讯的话,直接按照char的方式发送,不要转成ASCII码。char并不是等同于ASCII码。
|
单帖管理 | 引用 | 回复 ![]() |
kchmn |
3楼 |
![]() |
![]()
是串口通讯,我说的是ASCII 字符(char),不是码(Number)。如传二进码00110000,先换成48,对应是char"0".
按照char发送是这个意思吗?如果不是,该怎么发?例,想发二进码00000001该怎么发? |
单帖管理 | 引用 | 回复 ![]() |
zhl |
4楼 |
![]() |
![]()
如:
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楼 |
![]() |
![]()
写错了。是PutOutputData( COM3, Buf[i] );
|
单帖管理 | 引用 | 回复 ![]() |
kchmn |
6楼 |
![]() |
![]()
是0x48吗?0x48和48好象不一样啊 。。。
|
单帖管理 | 引用 | 回复 ![]() |
zhl |
7楼 |
![]() |
![]()
0x48和48肯定不一样,二进码00110000相当与0x30。上面我是举例说明,你可根据具体情况赋值。
|
单帖管理 | 引用 | 回复 ![]() |
kchmn |
8楼 |
![]() |
![]()
好的,谢谢.但是可以直接用Buf[0]=48;来定义吗?
|
单帖管理 | 引用 | 回复 ![]() |
zhl |
9楼 |
![]() |
![]()
可以。
|
单帖管理 | 引用 | 回复 ![]() |