發表文章

目前顯示的是 2月, 2009的文章

免費麻將遊戲 - Windows

這應該是交大學生做的,我只能說 well done。 畢竟這是國粹。 但不要大賭,就好。 麻雀研究社 Taiwan Mahjang

何謂「觸發」?

圖片
何謂「觸發」? 在進行資料擷取時,可設定某些訊號的特定條件,像是一個數位訊號的高電位 (logic high) 或低電位 (logic low),或是一個電壓訊號的特定值,一旦訊號滿足這些特定條件,資料擷取卡才真正開始採集訊號並傳送到系統中,這便是觸發的基本原理。 觸發的功能可以用在許多種形式的應用中,像是電力傳輸系統的突波 (pulse) 檢測 (直接設定突波電壓作為觸發條件)、多張資料擷取卡的同步操作 (用一個共用的時鐘源產生觸發信號)、結合運動控制的動態系統的定點訊號採樣 (機構到達定位後發出觸發訊號開始進行資料擷取) 等。善用各種觸發功能可以準確地採集有用的資料,大幅提昇系統的效能以及量測的精確度。 圖 1 觸發基本示意圖 接下來要介紹當今市場上應用於資料擷取卡中的各種觸發技術,以及如何將這些觸發技術運用在系統中。 觸發訊號類型 如前所述,觸發的基本原理是給予一個觸發信號,用以「刺激」資料擷取卡進行採樣的動作。觸發信號的類型,大致上可以分為以下幾種: 1. 數位觸發- 透過一個外部輸入的 TTL 訊號觸發資料擷取卡。使用者通常可以設定在 TTL 訊號的上升緣 (raising edge) 或下降緣 (falling edge) 進行觸發。數位觸發的實作較為簡單,通常透過 CPLD 中的邏輯閘便可以達成,。 圖二 數位觸發示意圖 2. 類比觸發- 另一種觸發方式是給予一個電壓訊號,並設定某個特定的電壓值,當電壓訊號高於或是低於設定值時進行觸發。類比觸發可以用來偵測一連續電壓訊號中的瞬間變化,像是在電力傳輸系統中,使用者可以指定輸入訊號的觸發電壓位準,一旦超過位準便開始進行採樣,藉此可以偵測電力系統中的突波。類比觸發需要較複雜的電路設計,通常包含額外的 DAC與比較器電路,通常在高階的資料擷取卡,才會加入類比觸發功能。 圖三 類比觸發示意圖 除了上述以超過或低於電壓位準作為類比觸發條件以外,新一代的資料擷取卡提供更複雜的類比觸發條件。依據觸發訊號跟觸發位準值的關係,使用者可設定多種的觸發條件,包含 Below-Low (觸發訊號低於低位準時觸發)、Above-High (觸發訊號高於高位準時觸發)、High-Hysteresis、Low-Hysteresis、Inside-Region 等。 以下用 High-Hysteresis 來說明這些先進觸發條件的

I love the world..

在Discovery的節目中看到了一段小廣告, 真是扣我心弦呀!! 因為很喜歡, 真的真的很喜歡.. 整理分享給大家.. I love the world ..

rad.msn.com 跟 rad.live.com

MSN Messenger軟體上面一堆廣告干擾視線,如果你想讓世界首富比爾蓋茲少賺一點廣告費,平衡一下我們心裡的苦悶…,那麼,可以用下面相當簡單的方法,把MSN Messenger上面的廣告條給擋掉,只要修改一個檔案就可以囉,不用另外安裝什麼軟體或外掛唷。 第1步  首先開啟「C:\WINDOWS\system32\drivers\etc」這個資料夾,找到「hosts」這個檔案,在「hosts」檔案上按一下滑鼠右鍵,再點選【開啟】。 Win 98/ME 的修改位置:「C:\WINDOWS」資料夾中的「hosts」檔案。 Windows 2000 : 「C:\WINNT\SYSTEM32\DRIVERS\ETC」資料夾中的「hosts」檔案。 Windows XP:「C:\WINDOWS\system32\drivers\etc」 資料夾中的「hosts」檔案。 Windows Vista:「C:\Windows\System32\drivers\etc」資料夾中的「hosts」檔案。 第2步  在「hosts」檔案裡的最下面加入下面兩行字: 127.0.0.1 rad.msn.com 127.0.0.1 rad.live.com 這麼做的意思,就是把原本要連到「rad.msn.com」跟「rad.live.com」兩個網站的連線,轉到「127.0.0.1」本機電腦來,如果MSN Messenger要連到「rad.live.com」網站讀取廣告訊息的話,轉到「127.0.0.1」自己的電腦,就啥廣告都取不到囉! 「127.0.0.1」在TCP/IP通訊協定中指的是目前你正在使用的這台電腦本身。 注意! 修改「hosts」檔案對於網路連線會有很重要的影響,進行修改前,請務必先備份好原本的「hosts」檔,如果日後發現有些網站或服務無法連線,可以再把他恢復回來。

Keil C .......

函數宣告與指標 void ToUpper(char *); //將字串轉大寫 其中ToUpper()函數型態是void,參數是char *,如果宣告為這個函數宣告一個 pf指標,就會像下面一樣: void (*pf)(char*); //指向函數的指標,例如: pf=ToUpper,但是不能寫成pf=ToUpper(); 其中括號內的(*pf)會被括號結合,所以閱讀時他會是一個指標,所以他是一個指向函數的指標,如果省略就會不同意義: void *pf(char *) ; //pf 是回傳指標的函數 變數宣告與指 標 char xdata* data pagePointer = 0x1000; 要看懂這行宣告,先要能看懂以下的東西,自然能領會。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=- 1、 char pagePointer = 0x00; 意義: 宣告一個名為 pagePointer 的「變數」,型態為 char ,並賦予以初始值 0x00。 注意:宣告中並沒有明訂此一變數本身應儲存於何處的記憶體中。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=- 2、 char * pagePointer; 意義: 宣告一個名為 pagePointer 的「指標」,指向型態為 char 的資料。 請注意:宣告中並沒有明訂此一指標本身應儲存於何處的記憶體中, 而且,也沒有指明其所指向的 char 型態資料在於何種記憶體中。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=- 3、 char xdata pagePointer = 0x00; 意義: 宣告一個名為 pagePointer 的「變數」,型態為 char ,賦予以初始值 0x00, 並指明此一變數本身所儲存的空間在外部記憶體(XDATA)中。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=- 4、 char xdata* pagePointer; 意義: 宣告一個名為 pagePointer 的「指標」,指向型態為 char 的資料, 並指明其指向的 char 型態資料位在於在外部記憶體(XDATA)中。 同樣的,此一宣告中並沒有明訂此一指標本身應被儲存於何處的記憶體中。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=- 5、 char xdata* page

Programmer 專用最佳字型

圖片
於 Monospace/Fixed Width Programmer's Fonts 有提到適合程式設計的字型重點: Crisp clear characters. (清晰) Extended characterset. (延伸字元集) Good use of whitespace. (妥善使用空白字元) 'l', '1' and 'i' are easily distinguished (能夠清楚分辨大寫 l、數字 1 以及小寫 i) '0', 'o' and 'O' are easily distinguished (能夠清楚分辨數字 0、小寫 o 以及大寫 O) forward quotes from back quotes are easily distinguished -prefer mirrored appearance (能夠清楚分辨 ' 與 `,最好兩者的方向相反) Clear punctuation characters, especially braces, parenthesis and brackets (標點符號要清楚,尤其是大括號、中括號與方括號) 綜合以上要點,選出了兩種符合的字型: Consolas:微軟發展的新字型,內建於Vista、Office2007、Visual Studio2005等軟體。 Monaco:源於MAC上的字型, Return of Monaco.ttf 有更多資訊。 現在Consolas已經取代Courier New成為我寫程式時最愛用的字型囉:)    Consolas.TTF (94.5 KB)    Monaco.TTF (64.2 KB) # 補: 可在此處下載 Return of Monaco