今天很忙
不廢
從早就一直在修bug
之前沒發現的bug
在昨天把設定校正值改成三份後才發現的問題
傳送有些數字時沒辦法正確的傳送
不過 稍微看了一下
傳出去跟收到的資料 很快就發現了端倪
是BitStuffing位元填塞搞的鬼
USB的規範中 要是連續傳送6個相同的值時 會強制反轉一次
也就是原本傳送0000 0000 0100 1010
經過BitStuffing後會變成 0010000001001010
這樣傳遞的值就變了
我想了非常多方法 要處理這個情況
偵測值小於256時加一個4096給他 讓前面一個byte不是0
但是 前面是不是0了 後面也有機會是0 但是用這種方式
反而會把我要的資料給篩掉
最後 是把所有值送出去前都先加21845
接收後再扣掉
21845用二進位表示是0101 0101 0101 0101
可以有效避免出現連續6個1或連續6個0
用這種方法 我的資料範圍內就不會遇到傳送錯誤的問題
今天下午去幫忙出貨 貨是一顆1M的積分球 加上固定架大概跟我差不多高
我能明白這種高價物品在運送時需要更嚴密的保護
不過這包裝看起來真的超浪費的
會先在外面套一層塑膠袋 然後用膠膜捆個兩層
再套一層塑膠布 再用膠膜捆兩層
在外箱底部墊一塊塑膠布 放進外箱
塞一點固定用的填充物後 用螺絲把箱子鎖起來
鎖好後還要在外箱外面再綑一層塑膠布 用釘槍固定
釘槍也是蝦雞巴亂釘 反正只要釘的釘子夠多就能穩穩地固定
ㄏ