[食記] 高雄 橋頭糖廠 VERONICA
[食記] 台南 東山 好吃的茶壺雞
[食記] 台南 安平 哈維夫窯烤 pizza
BOCOMA 幸福手作甜品開箱文
從朋友介紹的 BOCOMA 奶酪甜品網站,下標了一份奶酪,以及三份純天然果醬,
今天回家,發現黑貓急宅便寄到家了~
感覺很興奮 XD,那就…來寫個開箱 XD
箱子一打開,奶酪有點受震的痕跡,但整體上是 OK 的。
果醬的罐子很漂亮,蓋子的花紋很可愛,來跟我心愛的加菲貓合照一下~
我訂購的是小罐裝的,所以看起來比加菲還要矮一截
這一罐是火龍果口味的
再來繼續拆開其他的果醬
排排站~
由左到右,依序是梨子紅茶醬、鳳梨蘋果果醬、火龍果果醬
來跟哈尼送我的黑貓急宅便小車車合照一下,果醬也是會用黑貓低溫冷藏送到家的哦
透過光線、從底部看,裡面是滿滿的火龍果子,整個真材實料呀~ 賣這個價錢真的是蠻便宜的!
這一瓶是鳳梨蘋果果醬,也是滿滿的鳳梨和蘋果,
拿在手裡,好小巧地一瓶,相當美觀。
很上相的果醬組
包得這麼上相,不管是買來自己吃,或是送禮,都是蠻適合的商品。
那就,來一罐一罐開來看看內容物好了,
首先是梨子紅茶醬
裡面貌似是天然的梨子製作的,沒有經過加工的樣子,
據 BOCOMA 賣家所言,她要學科技業的 COST DOWN(降低成本) 的作法,什麼都不亂加!
「製作過程,使用天然食材,自然無添加。不含化學原料、色素、香精、防腐劑及乳化劑」,
「加添加物幹什麼,還要花錢買添加物來加,還要漲價,消費者吃了又對身體不好!」,
看來的確是「無添加物、真材實料」啊!
接下來是火龍果醬
放著一起拍~
火龍果看起來好好吃的感覺 A___A
加菲貓也來搶鏡頭一下
再來就是好吃的奶酪的開箱了~(開箱前媽媽有先偷吃一些,難得看她讚不絕口 XD)
我訂購的奶酪,有分原味奶酪,以及可可奶酪,各有各自獨特的風味,
這位 BOCOMA 賣家,強調製作過程純天然、無多餘添加物,
所以口感比較軟,比較濃郁,而不會有「這吃起來好像果凍」的感覺。
製作的過程,她兒子、女兒在旁邊一直吃,還沒開始賣就被吃掉好幾碗了,
這算是另類的「生意難作」啊。
可可口味
箱子裡還附上訂購清單,以及聯絡訂購方式。
官方網站:http://bocoma.pixnet.net/blog/
FB社群:http://facebook.com/bocoma.dessert/
電話:布可媽 0980-141-162
[食記] 古坑 華山咖啡園區 山海關
[食記] 台南市 新光三越 雪嶽山 服務很好的燒烤店
巧遇鬥牛犬
[自動控制] RS232 同步與非同步作法
win32api所提供的serial port讀寫方式有分兩種
同步方式: 讀夠了指定的字元才會返回(執行緒不會先返回去做其他工作)
非同步方式: ReadFile/WriteFile函式被呼叫之後,執行緒會先返回,win32api自動幫你新增一個執行緒在背景做IO工作,你必須去檢查OVERLAPPED結構的hEvent物件是否已被觸發,才知道背景IO工作是否已經結束
標準做法是先用WaitForSingleObject去檢查hEvent物件,如果觸發了,才使用GetOverlappedResult去檢查執行的結果(IO工作結束後有很多種結果,讀取到的字元可能介於0~N個你指定的字元,可能是順利讀完之後返回或是因為timeout被迫先返回而實際讀取字元=0或是<N)
win32做IO的方式(serial port/檔案讀寫/和其他IO都適用)會受到timeout的影響,否則同步方式很容易會鎖死,如果是在XP系統,逾時機制的預設值應該都是0,也就是不使用timeout機制
你在開啟通訊埠使用CreateFile函式的時候並沒有指定要用overlapped非同步方式去執行,我也沒看到你有去設定timeout值,所以你的IO執行緒是以同步方式在跑,overlapped結構和設定等等動作是白做的,因為ReadFile根本不會去使用
因此你的程式應該是會鎖死住,一直等到ReadFile讀夠了256個bytes才會返回…,我建議你要把一些事情做好,比較容易debug
1. 開啟通訊埠之後,把UART晶片的緩衝區一律清除掉,否則程式上一次執行所傳送的資料仍然會在緩衝區裡面等著被讀取(至系統記憶體內),事實上一般白牌的UART晶片的接收緩衝區大約是16到256個bytes,很容易就被塞暴,因此windows事實上在背後幫你提早接收了這些資料,並自行保管,等到你去讀取serial port的時候,它就直接把資料給你(系統記憶體的複製動作),所以你會發現寫入serial port返回的時間跟baudrate以及字數有相關,但是讀取serial port卻是””瞬間””完成,即使你的baudrate很低…我把這個稱之為windows所提供的””軟體緩衝區””,實測結果是這個軟體緩衝區可以放超過1MB以上的資料(雖然被灌暴的時候,win32API函式有檢查overrun的事件和機制,也可以警告你,但是資料仍然被存放入軟體緩衝區裡面,一個byte都沒少也不會被丟掉),所以開啟/關閉通訊埠的動作要確實,該清空/reset的動作都要做,不然改過的新程式碼去讀取軟體緩衝區裡面的舊資料,改對了還是可能產生錯誤結果
2. 因為win32api提供了timeout返回的機制,所以你可以沒事就去讀取看看,大不了就是沒資料可讀而已,這種方式特別適合資料固定在流動,但是資料量不定的情況(而且最新資料可以取代舊資料),另一種方式是先檢查接收緩衝區之後,知道了有無字元和實際數量,然後才去做讀取動作,這種方式如果出了問題比較好debug