极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11326|回复: 5

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

[复制链接]
发表于 2015-4-5 17:09:45 | 显示全部楼层 |阅读模式
原来一台电脑用穿口调试工具通过232串口线就可以把“5A 22 00 00 00 01 F9 70 ”数据传到另一台电脑上,现在我想用ARDUINO板把这个数据传到电脑上,请问程序怎么写
回复

使用道具 举报

发表于 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( ) {
}

评分

参与人数 1 +30 收起 理由
Ansifa + 30 精彩回复

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2015-4-6 13:15:23 | 显示全部楼层
        都是十六进制吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-6 22:12:14 | 显示全部楼层
suoma 发表于 2015-4-6 13:15
都是十六进制吗?

是的。。。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-6 22:15:39 | 显示全部楼层
tsaiwn 发表于 2015-4-5 17:33
/// 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组这样的代码,麻烦怎么写程序,谢谢
回复 支持 反对

使用道具 举报

发表于 2015-4-6 22:36:20 | 显示全部楼层
qin1010 发表于 2015-4-6 22:15
请问编译出错,是什么原因。
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);

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-18 02:19 , Processed in 0.055065 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表