Raspberry Pi 3 使用 USB to Serial Port 與 PC 進行通訊測試

 Raspberry Pi 3 在 GPIO 裡面,原本就已提供有 UART 的通訊功能,進行系統設定完成後,即能在作業系統內利用 /dev/ttyS0,來進行 RS-232 的通訊。由於沒有 3D Printer 能自製合適的機殼,拉線出來放在混亂的環境內,一定會讓 MAX3232 模組沒多久就會損毀;所以,特別採買 USB to RS-232 的轉接器來使用看看。

這次測試所使用到的設備如下:

  1. Raspberry Pi 3
  2. 16GB MicroSD (存放作業系統, 此次使用 Raspbian stretch 4.9.47)
  3. Keyboard and Mouse
  4. HDMI to VGA adapter
  5. USB to RS-232 (型號:UTN411, 廠商:登昌恆興業股份有限公司)
  6. RS-232 正常線(公-母) * 1 及 RS-232 NULL MODEM(母-母) * 1
  7. USB 電源供應

» Read more

開啟 Oracle Client 的除錯追蹤 (Debug Tracing) 功能

原由是同事協助檢測為何同一隻 Visual Studio C# 的程式,運作在 x64 系統上時會發生 「ORA-01000: 超過了可開啟的游標之數目上限」;在 x86 系統上卻不會發生這樣子的錯誤。我才知道原來 Oracle 有提供 Debug Tracing 的功能。

開啟 Debug Tracing 的方式是需透過修改作業系統內的註冊機,路徑如下:

電腦\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\OPD.NET

» Read more

[VS2010] 檔案解壓縮 Unzip File

很久之前寫過檔案壓縮 Zip File,一直想要把解壓縮的功能加到專案裡面,終於有空可以補強這個部份。使用到的程式庫是 ICSharpCode。解壓縮之後的資料直接暫存在 MemoryStream,再回傳給外部函式使用。

外部程式可以透過 StreamReader 將 MemoryStream 再次封裝後,利用 ReadLine() 的功能,將資料逐行取出。但得在被封裝前,需要將 MemoryStream 的指標位置更換到 0。

 

資料驗證 – BlockCheckCharacter (BCC)

利用 ASTM 傳輸的資料在結果都會附加資料驗證,以確保傳送的資料是正確的。而此驗證碼的產生比較常見的有兩種 Checksum 及 BlockCheckCharacter (BCC)。

BlockCheckCharacter 是以 NOR 的方式進行資料驗證。範例程式碼:

 

資料驗證 – Checksum

利用 ASTM 傳輸的資料在結果都會附加資料驗證,以確保傳送的資料是正確的。而此驗證碼的產生比較常見的有兩種 Checksum 及 BlockCheckCharacter (BCC)。

Checksum 是以累加的方式進行資料驗證。範例程式碼:

 

[VS2012] DataGridViwer 代換掉右鍵功能

DataGridViewer 的欄位預設型態是 DataGridViwerTextBoxColumn,可想而知是 TextBox。使用右鍵時,就會啟用 Windows 預設的右鍵 (剪下、複製、貼上 …)。

然而,此次的目的是要讓 TextBox 顯示自訂的右鍵選單,不要使用 Windows 預設的右鍵選單。那就得動用到 EditingControlShowing 這個事件控制。

 

[VS2012] DataGridViwer 改變編輯模式 EditMode

變換 DataGridView 的欄位成為 ComboBox 後,在操作時發現需要點兩次才能進入編輯模式 (點擊第一次是 OnFocus、第二次才是 進入編輯模式)。被朋友提醒才知道原來 DataGridView 有個 EditMode 屬性可以調整。

DataGridViewEditMode 有五種的選項可以使用

EditOnEnter

當儲存格收到焦點時,編輯即會開始。當按下 TAB 鍵在資料列之間輸入值,或是按下 ENTER 鍵在資料行下面輸入值時,這個模式會相當實用。

EditOnF2

當儲存格具有焦點而按下 F2 時,編輯即會開始。這個模式會將選擇點置於儲存格內容的結尾。

EditOnKeystroke

當儲存格具有焦點而按下任何英數按鍵時,編輯即會開始。

EditOnKeystrokeOrF2 (這個是預設的功能)

當儲存格具有焦點而按下任何英數按鍵或 F2 鍵時,編輯即會開始。

EditProgrammatically

只有當呼叫 BeginEdit 方法時,編輯作業才會開始。

資料參考:https://msdn.microsoft.com/zh-tw/library/system.windows.forms.datagridvieweditmode(v=vs.110).aspx

使用範例:

 

[VS2012] 如何將 Access OLE 物件 欄位內的圖片存取出來?

直接利用 Access 將圖片資料上傳到 OLE 物件 欄位時,因為 Access 會做一些資料記錄 (用以辨別 OLE 物件是什麼?),所以圖片資料前面會含有其它不重要的訊息。在取出該欄位時,必須先找到檔案的開頭在何處,才能正確轉圖片出來。

 

[MoonSharp] 將 Table 內容顯示到檔案內

陽春的寫法,簡單的表格運作 OK,複雜一點的表格會醜醜的 ~

1 2 3 6