要讀取整筆封包還要再自己寫,
所以稍微寫了一下,將"#"當作起始字,"$"當作結尾字,
並且將之間的資料存於Databuf中,
有需要的時候再Send "!" 會將資料丟出來。
以下是code:
1: char Databuf[100]; // 用來儲存收進來的 data byte
2: int addr=1;
3: char buf;
4: int RW=0;
5: void setup() {
6: // 開啟 Serial port, 通訊速率為 9600 bps
7: Serial.begin(9600);
8: Serial.println("Hello Oliver"); Serial.println("http://arduino-oliver.blogspot.com/");
9: }
10: void loop() {
11: // 檢查是否有資料可供讀取#@
12: if (Serial.available() > 0) {
13: buf = Serial.read();
14: switch (buf)
15: {
16: case '#':
17: Serial.println("#");
18: RW=1;
19: break;
20: case '!':
21: Serial.println("!");
22: while(addr>0)
23: {
24: addr--;
25: Serial.print(Databuf[addr],HEX);
26: }
27: break;
28: case '$':
29: Serial.println("$");
30: RW=0;
31: break;
32: default:
33: if(RW=1)
34: {
35: Databuf[addr]=buf;
36: Serial.print(Databuf[addr],HEX);
37: addr++;
38: }
39: }
40: }
41: }
33行應該是==喔
回覆刪除