s930427 发表于 2016-6-2 15:55:04

只是把陣列輸出成16進制,為啥麼沒辦法?

要把陣列裡的數值做16進制輸出結果是了很久都還是跳下面這樣


void setup() {
// put your setup code here, to run once:
   Serial.begin(9600, SERIAL_7E1);
   Serial3.begin(9600, SERIAL_7E1);
   
}
void loop() {
// put your main code here, to run repeatedly:
writep();

}

void writep()
{
/*                           _____________________________________________________________
   *封包格式       EOT01   | STX | H/G |IID | address |   data 8|SET | ETX | BCC|
                               | 02h | 'H' | '2'| 4byte   |   8byte   |'0''1'| 03h | >1Fh |
*/
//             |EOT| 01 |STX| HG|IID| Arddress |      Data       |SET |    EXT| BCC |
//byte wrequest[]={0x02, 0x48, 0x34, 0x30, 0x33, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, 0x34, 0x30, 0x30, 0x03, 0x7d}; //HEX
byte wrequest[]={0x48, 0x41, 0x30, 0x33, 0x30, 0x33, 0x30, 0x30, 0x05, 0x2e};
for (int a = 0; a < 10; a++)
{
    Serial.write(wrequest);
    Serial3.write(wrequest);
    //delay(2);
    //delayMicroseconds(5000);
}
delay(1000);

}

Super169 发表于 2016-6-2 16:53:39

要做通訊, 不要一開始就只想程式的部份, 要先把設備弄好.
你的問題, 相信還是跟連線有關, 你的 COM2 是直接用電腦的 RS232 ?你是用什麼芯片轉 TTL 的 (USB<->TTL)?
先確認你的 COM2 可接收 TTL 訊號並正確顯示, 否則 監察器顯示的資料是沒意思的.

如果可以的話, 先用兩片 mega 連線作測試會比較準確及簡單得多.用另一塊的 serial1/2/3 連接你的板子接收, 再把收到的資料經 serial (USB) 送給電腦作顯示.
否則, 用 software serial 也可以把兩片 arduino 連上, 並同時連接電腦經 serial monitor 顯示.

s930427 发表于 2016-6-2 17:42:20

Super169 发表于 2016-6-2 16:53 static/image/common/back.gif
要做通訊, 不要一開始就只想程式的部份, 要先把設備弄好.
你的問題, 相信還是跟連線有關, 你的 COM2 是直接 ...

謝謝解答
後來有找到把tx3rx3接在MAX232再轉到電腦,就成功了...
原本想的太美好~把txrx直接接電腦,
不好意思問了個蠢問題。

迷你强 发表于 2016-6-3 13:35:23

:lol
页: [1]
查看完整版本: 只是把陣列輸出成16進制,為啥麼沒辦法?