推 soheadsome: m_queue_start_index 型態是? 04/14 14:14
→ TianBonBon: static volatile uint8_t m_queue_start_index; 04/14 14:16
→ TianBonBon: static volatile uint8_t m_queue_end_index; 04/14 14:16
→ notBeing: volatile... 04/14 15:56
推 james732: 那個tmp變數好像非必要? 04/14 16:27
推 changenew: volatile是關鍵 04/14 17:00
推 coldStart: 個人猜測是要強制更新變數 04/14 17:24
推 Hazukashiine: 個人猜測這只是作者想寫這樣而已 04/14 17:40
推 chuegou: 同意volatile是關鍵 04/14 19:15
推 LPH66: 好像只有差在 == 不保證取值順序的樣子? 04/14 19:16
→ LPH66: 寫兩行的話中間有個 ; 斷開, 所以 start 必先於 end 取值 04/14 19:17
→ LPH66: 不過我不太確定作者是不是有這個意圖就是了 04/14 19:18
→ LPH66: volatile 應該只是保證取來的必定是最新結果而已 04/14 19:18
推 TWkobe: 會不會是不能保證每次queue_start_index都一樣? 04/14 19:46
→ james732: 這個index看起來也不像是會自己改變的hardware reg 04/14 20:45
→ xvid: 我猜以前tmp還有被拿來做其他運算 後來被刪掉了? 04/16 00:19