在〈Debugging Embedded Systems〉中曾建議:把 uC 的 UART 跟 PC 的 serial port 第一時間 link 起來,然後就可以在適當的地方 print out 一些訊息,幫助我們確認程式的執行狀況。 這個廣為採用的作法,在沒有 preemptive multitasking OS 支援下,很容易因 print out 的訊息太多,使系統 delay 過久。這在許多場合是無法接受的。一個常見的例子是同時處理另一個網路連線下,許多 protocol 都嚴格限制裝置回應時間。 解法也很簡單,只需把要 print out 的東西丟到 queue 中,然後再拆成一個個 char ,找時間分批餵給 PC 就好了。這叫「化整為零」:P Renesas H8 系列 HEW 開發環境底層就有兩個分別被 stdin/stdout function 群共用,