2016年6月6日 星期一

Published 下午3:43 by with 0 comment

[筆記] C語言中使用單一位元的做法:Bit Field 位元欄位

在嵌入式的設計中,經常有判斷旗標要被使用。 但使用 char 或是 _Bool 這些宣告則太過浪費記憶體, 而C語言中有個方法可以只需要一個位元就可以做。 這個方法稱為 Bit Field ,現在較新的 C 語言書都不太提到, 確定有談到這個方法的書目前只看過 K & R 與 Pointers on C。 做 Bit Field 時必須使用 struct 例如: 先寫好                          ...
Read More
      edit

2016年6月5日 星期日

Published 下午2:56 by with 0 comment

[基礎] Mspdebug 與 Msp430

較早的文章已經談過Msp430使用開源軟體的開發方法了。 但當時沒有提到程式能夠單步執行的作法, 這一次要談的是如何控制msp430的程式單步執行, 也就是 Mspdebug。 Mspdebug 也是個開源的自由軟體,是專門針對msp430製作的, 可以支援各種不同的ICE運轉。 原作者的網站在此:  http://dlbeer.co.nz/mspdebug/ 原作者的網站在這段談到了怎麼在windows底下自己建立這套軟體。 根據操作說明,必須要下載安裝下列軟體: 1.  Download MinGW installer Install...
Read More
      edit

2016年6月4日 星期六

Published 下午4:46 by with 1 comment

[基礎] MSP430 與開源軟體

這次的實驗晶片對象是msp430。 mps430 是 TI 所出的MCU,性能優異而且長年霸佔省電應用的市場。 近幾年來價格也大幅度下殺。 直接從TI網站擷取的價格(2016年),大抵上低於一美元 本次實驗的硬體則是LaunchPad,除了主晶片是msp430g2553之外還附帶燒錄器 網拍購得,大約四五百元。 Compiler 則是使用 mspgcc IDE 使用 CodeBlocks  燒錄器可以使用 MSP430Flasher (下載來的壓縮包名稱應該會是slac435f.zip包括板子的驅動程式) 或是 mspdebug (僅有原始碼,須根據不同機器自己compiler,這東西日後另外開文章再談) 接下來吧...
Read More
      edit

2016年6月3日 星期五

Published 下午3:47 by with 0 comment

[基礎] Windows程式與開源軟體

本次的實驗是寫個windows的GUI程式。 傳統上認為windows視窗程式只能由Visual C來寫,但其實自由軟體也是能做的。 一樣使用CodeBlocks,但必須增加 compiler 稱作 mingw 的, 這是個支援windows程式開發的compiler。  不過現在的 CodeBlocks 在下載頁面 已經增加了包裹mingw的版本。 下載附有mingw的安裝後即可直接使用 另外,為了能夠輕鬆的做視窗環境設計,打字描述視窗大小之類的事情太累了, 我們使用Resource Edit 資源編輯器,在資源編輯器將視窗畫好之後, 會自動產生 rc 檔 和...
Read More
      edit
Published 下午2:51 by with 2 comments

[基礎] STM8 的基本系統

為了要能夠利用單晶片做各種事情, 必須準備一個基本的系統來調控各種功能。 絕大部分的控制,都跟時間有關, 所以接下來要講的是一個根據時間運作來操作的系統。 並且要把UART的連線做起來, 使得PC或者另一端能夠藉此下指令或是讀取晶片內部資料之類的。 基本的硬體如圖連接。 如上圖所示,為了方便所以將 STM8發展板放在麵包板上。 接線也只是使用 UART的端口接往 CP2102。 CP2102 是一顆UART轉 USB的晶片,安裝後在PC端機將會出現個RS-232介面。 我們使用 Terminal  這個軟體讀取資訊。 按照之前的教學建立一個新的STM8專案。 寫出的程式碼如下: main.c #include...
Read More
      edit

2016年6月2日 星期四

Published 下午3:16 by with 0 comment

[基礎] STM8 與開源軟體

這塊小板子叫做 STM8S105K4T6C 最小核心板, 露天拍賣售價 145 元。 然後這顆IC差不多系列的 STM8S105K4T6C 露天拍賣售價 30 元。 這兩款的差別就只是程式記憶體(Flash)大小 原廠分類圖 這顆單晶片的參數看一看,大抵上該有的介面也都有, Key Features Core 16 MHz advanced STM8 core with Harvard architecture and 3-stage pipeline Extended instruction set Memories Program memory: up to 32...
Read More
      edit

2016年6月1日 星期三

Published 下午4:34 by with 0 comment

[基礎] 8051與開源軟體

8051是一款老式的控制晶片,因為優異的設計使得從1981年推出至今仍沒被淘汰, 也連帶的產生了許多衍生系列,而Intel目前已經沒再生產。 雖說主角是8051,不過現在純正的8051已經不那麼好用, 而且純正的大概也很難買到,大多使用相容型的衍伸系列。 衍伸系列通常具有記憶體大、容易燒錄等等優點,一顆晶片即可解決問題, 不再需要那麼多外部記憶體或是IC。 本次的主角是 STC12C5A60S2 這塊叫做最小核心板,已經附上燒錄後自動重新啟動和USB轉UART的IC。 接腳也都拉出方便使用,把這片核心板插在麵包板上方便等一下和LED連接。 Compiler 一樣是 SDCC,而 IDE...
Read More
      edit