kkk777 发表于 2015-7-23 00:54:51

请教16进制指令串口输出问题

各位前辈:
   请教一个关于16进制指令串口输出的问题,电脑串口模拟能实现,但Arduino程序怎么写也执行不了。求前辈指点!致谢!


问题:向指定串口发送文本和结束符指令命令。

例如:

文本:t1.txt="abc"
结束符:0XFF 0XFF 0XFF   //(中间有空格)

Super169 发表于 2015-7-23 09:23:36

Arduino程序怎么写也执行不了 <- 程序沒錯的話, 又怎會執行不了.

程序怎樣, 如何執行不了也不說.........大家可以怎樣?

kkk777 发表于 2015-7-23 13:18:44

Super169 发表于 2015-7-23 09:23 static/image/common/back.gif
Arduino程序怎么写也执行不了

我就是想先发送文本在发送结束符,用Seril.print()发文本,用Seril.write()发16进制结束符,但是数组里空格怎么表示?
主要求发送这两行命令的代码。

kkk777 发表于 2015-7-23 13:22:58

Super169 发表于 2015-7-23 09:23 static/image/common/back.gif
Arduino程序怎么写也执行不了

如果这么写,空格怎么加入?用print()加也不好用。

unsigned char hexdata = {0xff,0xff,0xff};
Serial.write(hexdata, 3);

Super169 发表于 2015-7-23 14:09:41

你是想用串口助手發送到 arduino, 還是用 arduino 發給電腦用串口助手去接?
你的程式是想由 arduino 發給電腦吧.

空格是用文字輸出時, 方便分隔資料, 或給人看才有需要.
16 bit 數值的輸出 (例如你的 0xff), 不需要空格的.
串口助手中的 "ff ff ff" 本來就是連續三個 ff 的意思, 當中的空格只是方便閱讀用, 並非要接收/輸出一個空格.

kkk777 发表于 2015-7-23 14:55:14

Super169 发表于 2015-7-23 14:09 static/image/common/back.gif
你是想用串口助手發送到 arduino, 還是用 arduino 發給電腦用串口助手去接?
你的程式是想由 arduino 發給電 ...

谢谢 Super169,问题解决!有同样困惑的可以参考一下,我做电台传输数据用。

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
// put your main code here, to run repeatedly:
/*
*/
Serial.print("t1.txt=\"123456\"");
unsigned char hexdata={0xff,0xff,0xff};
Serial.write(hexdata,3);

}
页: [1]
查看完整版本: 请教16进制指令串口输出问题