2013年5月24日 星期五

關於感測器電路的一些經驗談(some tips about sensor)

  這幾個月來,我發現我對於電路實作與理論的應用,其實還有段差距,故將一些我實際碰到的問題以及解決方法寫下來。

  基本上我還是在處理感測器的電路,這時候會用到MCU的A/D去讀取實際的類比訊號進來,但是讀值可信嗎?

2013年5月13日 星期一

領略 QT 視窗程式設計

   我們都知道視窗程式設計一直都是讓人頭痛的問題,相信有用系統的 Native API 寫過 GUI
介面的讀者們都可以體會,不管是 MS Windows 還是 Unix 上的 X Window System 或者是
少數有些人可能有過 MAC OS 下 GUI 程設經驗 ( 我指的是更古老的 MAC 系統,非 OS X ),
使用系統的 Native API 撰寫 GUI 是很痛苦的工程,但是我的過來經驗是有過 Native Level
的 GUI 編程其實還是很有用,因為你會了解到任何 OS 下 GUI 子系統的基本法則都很相似
主要基本觀念不外乎就是 GUI 子系統 (有時候會稱為 Window Manager) 會不斷監控各種
視窗訊息並且將訊息傳送給應用程式,一個完整的應用程式一般會有很多的回呼函式來
回應各種訊息,假如不想處理訊息的就利用特殊的 API 送回系統,已經處理過的就不用送回
系統,而訊息一般都會被轉譯分派,但是一般不需理會,只要在已經註冊好的視窗回呼函
式用 Switch Case 敘述作訊息攔截撰寫對應動作的程式,這就是系統底層怎麼運作 GUI 程式
的基本原理,當然沒這麼簡單,因為有些訊息往往還會夾帶通知,這樣可以更精確的獲得
UI 本身更細部的行為改變,而且不同訊息所夾帶的附加資訊又不同,所以一般寫比較複雜
的 GUI 程式都要花許多時間查閱資料,基本上 Native GUI API 就是一大堆系統提供的
C 函式組合的集合,不妨將這個基本觀念用圖來表示 ( 這邊以 Windows 系統為例 ):

2013年5月6日 星期一

用 SL811HS 學習 USB 介面 - Part01

     通用序列匯流排 (USB) 是有史以來最成功的通訊介面,目前有數億計的 USB 設備存在於
這個世界上,許多晶片設計公司都已經紛紛推出針對不同裝置設計的 USB 橋接器晶片,像
常見的裝置如:鍵盤、滑鼠、掃描器介面、影像、印表機、磁碟控制器、網路介面、序列埠、並列埠甚至是一些特殊介面 CAN ( Controller Area Network )、GPIB (標準化後又稱 IEEE
 488),吾人碰巧有用過 USB-GPIB 的有趣經驗,這是因為以前有一台示波器後面有一個
USB 埠在好奇心的驅使下接上電腦發現電腦識別為 TEK-USB-488 設備,才知道原來這是
有內建了 USB-GPIB 轉接晶片的示波器,透過這個介面,可以直接用 C/C++ 程式下 SCPI
(Standard Commands for Programmable Instruments) 指令直接控制示波器的設定,像是
螢幕亮度,語系,調整時間刻度,電壓刻度,擷取示波器上的數值。