主題:二進制代碼的傳輸 共有44181人關注過本帖 |
---|
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 [只看該作者]
可以。
|
|
單帖管理 | 引用 | 回復 |
返回首頁二進制代碼的傳輸 |
---|
用戶名: | |
驗證碼: | |
內容: | |