Arduino 整串封包接收處理

由於Serial所Read 的值都只有一個byte,

要讀取整筆封包還要再自己寫,

所以稍微寫了一下,將"#"當作起始字,"$"當作結尾字,

並且將之間的資料存於Databuf中,

有需要的時候再Send "!" 會將資料丟出來。


Arduino 整串封包接收處理(圖 1)

Arduino 整串封包接收處理(圖 2)



以下是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:  }  

1 則留言:

8GB 的 RK3588 能跑多聰明的 LLM?ROCK 5C 用 NPU 實測 5 個模型

先講結論,省得你滑到最後: 在一片 8GB 的 RK3588 板子上,用 NPU 跑得最聰明的是 Qwen3-4B-Instruct-2507,我出的 7 題全對,但每秒只吐 3.7 個 token。 想要順一點的對話體驗,Qwen3.5-2B 的 8.4 tok/s 是比...