在嵌入式的設計中,經常有判斷旗標要被使用。 但使用 char 或是 _Bool 這些宣告則太過浪費記憶體, 而C語言中有個方法可以只需要一個位元就可以做。 這個方法稱為 Bit Field ,現在較新的 C 語言書都不太提到, 確定有談到這個方法的書目前只看過 K & R 與 Pointers on C。 做 Bit Field 時必須使用 struct 例如: 先寫好 ... Read More
較早的文章已經談過Msp430使用開源軟體的開發方法了。 但當時沒有提到程式能夠單步執行的作法, 這一次要談的是如何控制msp430的程式單步執行, 也就是 Mspdebug。 Mspdebug 也是個開源的自由軟體,是專門針對msp430製作的, 可以支援各種不同的ICE運轉。 原作者的網站在此: http://dlbeer.co.nz/mspdebug/ 原作者的網站在這段談到了怎麼在windows底下自己建立這套軟體。 根據操作說明,必須要下載安裝下列軟體: 1. Download MinGW installer Install... Read More
這次的實驗晶片對象是msp430。 mps430 是 TI 所出的MCU,性能優異而且長年霸佔省電應用的市場。 近幾年來價格也大幅度下殺。 直接從TI網站擷取的價格(2016年),大抵上低於一美元 本次實驗的硬體則是LaunchPad,除了主晶片是msp430g2553之外還附帶燒錄器 網拍購得,大約四五百元。 Compiler 則是使用 mspgcc IDE 使用 CodeBlocks 燒錄器可以使用 MSP430Flasher (下載來的壓縮包名稱應該會是slac435f.zip包括板子的驅動程式) 或是 mspdebug (僅有原始碼,須根據不同機器自己compiler,這東西日後另外開文章再談) 接下來吧... Read More
本次的實驗是寫個windows的GUI程式。 傳統上認為windows視窗程式只能由Visual C來寫,但其實自由軟體也是能做的。 一樣使用CodeBlocks,但必須增加 compiler 稱作 mingw 的, 這是個支援windows程式開發的compiler。 不過現在的 CodeBlocks 在下載頁面 已經增加了包裹mingw的版本。 下載附有mingw的安裝後即可直接使用 另外,為了能夠輕鬆的做視窗環境設計,打字描述視窗大小之類的事情太累了, 我們使用Resource Edit 資源編輯器,在資源編輯器將視窗畫好之後, 會自動產生 rc 檔 和... Read More
為了要能夠利用單晶片做各種事情, 必須準備一個基本的系統來調控各種功能。 絕大部分的控制,都跟時間有關, 所以接下來要講的是一個根據時間運作來操作的系統。 並且要把UART的連線做起來, 使得PC或者另一端能夠藉此下指令或是讀取晶片內部資料之類的。 基本的硬體如圖連接。 如上圖所示,為了方便所以將 STM8發展板放在麵包板上。 接線也只是使用 UART的端口接往 CP2102。 CP2102 是一顆UART轉 USB的晶片,安裝後在PC端機將會出現個RS-232介面。 我們使用 Terminal 這個軟體讀取資訊。 按照之前的教學建立一個新的STM8專案。 寫出的程式碼如下: main.c #include... Read More
這塊小板子叫做 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
8051是一款老式的控制晶片,因為優異的設計使得從1981年推出至今仍沒被淘汰, 也連帶的產生了許多衍生系列,而Intel目前已經沒再生產。 雖說主角是8051,不過現在純正的8051已經不那麼好用, 而且純正的大概也很難買到,大多使用相容型的衍伸系列。 衍伸系列通常具有記憶體大、容易燒錄等等優點,一顆晶片即可解決問題, 不再需要那麼多外部記憶體或是IC。 本次的主角是 STC12C5A60S2 這塊叫做最小核心板,已經附上燒錄後自動重新啟動和USB轉UART的IC。 接腳也都拉出方便使用,把這片核心板插在麵包板上方便等一下和LED連接。 Compiler 一樣是 SDCC,而 IDE... Read More