qin1010 发表于 2015-4-5 17:09:45

请问一下,怎么用ARDUINO把 “5A 22 00 00 00 01 F9 70 ”

原来一台电脑用穿口调试工具通过232串口线就可以把“5A 22 00 00 00 01 F9 70 ”数据传到另一台电脑上,现在我想用ARDUINO板把这个数据传到电脑上,请问程序怎么写

tsaiwn 发表于 2015-4-5 17:33:37

本帖最后由 tsaiwn 于 2015-4-6 22:37 编辑

/// which one do you mean ?
char gg[ ] = {0x5A, 0x22, 0x00, 0, 0, 1, 0xF9, 0x70 };
char yy[ ] = "5A 22 00 00 00 01 F9 70";

void setup( ) {
Serial.begin(9600);
Serial.println(" 8 binary bytes");
//Serial.write(gg, 8);
Serial.write( (const uint8_t *)gg, 8);
Serial.println( );
Serial.print("As text: ");
Serial.println(yy);
}
void loop( ) {
}

suoma 发表于 2015-4-6 13:15:23

      都是十六进制吗?

qin1010 发表于 2015-4-6 22:12:14

suoma 发表于 2015-4-6 13:15 static/image/common/back.gif
都是十六进制吗?

是的。。。。。。。。。。。。。。。。。。

qin1010 发表于 2015-4-6 22:15:39

tsaiwn 发表于 2015-4-5 17:33 static/image/common/back.gif
/// which one do you mean ?
char gg[ ] = {0x5A, 0x22, 0x00, 0, 0, 1, 0xF9, 0x70 };
char yy[ ] = "5 ...

请问编译出错,是什么原因。
argument 1 of ‘virtual size_t Print::write(const uint8_t*, size_t)’ [-fpermissive]
   virtual size_t write(const uint8_t *buffer, size_t size);
                  ^
谢谢

我本打算向电脑穿8组这样的代码,麻烦怎么写程序,谢谢

tsaiwn 发表于 2015-4-6 22:36:20

qin1010 发表于 2015-4-6 22:15 static/image/common/back.gif
请问编译出错,是什么原因。
argument 1 of ‘virtual size_t Print::write(const uint8_t*, size_t)’...


那把那句
    Serial.write(gg, 8);
改為
    Serial.write( (const uint8_t *)gg, 8);
這樣就好了 !
不過注意這句是送出 binary 格式喔
在 PC 讀取時是每次 read( ) 為一個 byte,
也就是說這邊送出的 0x5A
在 PC 電腦端 (例如 processing)
int k = Serial.read( );
則 k 是 90
因為0x5A = 5 * 16 + 10 = 80 + 10 = 90
如果你希望在 PC 端看到的是字符串 5A 22 00 00 00 01 F9 70
那要用那句 Serial.println(yy);

页: [1]
查看完整版本: 请问一下,怎么用ARDUINO把 “5A 22 00 00 00 01 F9 70 ”