本人是電信專業大二學生,因准備2020TI杯模擬電子設計大賽選用MSP432作為我們小隊參賽入門的主控芯片。
我平時喜歡做些電子制作一類,也挺喜歡嵌入式開發。以前玩過STM32,有點小硬件基礎。所以MSP432上手挺快的。
關於MSP432,其實網上的資料很少。我再這里特別推薦大家看TI的軟件包SDK,非常詳細,實例豐富。
在TI的MSP432軟件包里,有常用硬件DriverLib和TIDriver這兩大庫(寄存器調用不是很實用,對於新手而言)。我在開發的時候全都是用TIDrivers這一層驅動的。為什么?首先,TIDriver提供一套GUI硬件配置,就是用圖形界面就能配置好你需要的GPIO,UART,IIC之類的,非常簡單。第二,TIDriver可以在MSP的任意一套開發板中使用,而無需修改任何代碼,可移植性非常高,移植成本為0。這可以大大減少我們程序開發時間。第三,TIDriver有一套Academy入門培訓資料,非常好,能夠非常快速讓你入門。
關於MSP432程序設計,我全都是從移植TI官方提供的例程中更改所得,所以程序結構非常標准。TI的例程中注釋代碼很詳細,所以通過例程進行開發是一個不錯的方法。
工欲善其事必先利其器,在軟件開發中,選擇一個好的開發平台很重要。我以前STM32是在Keil里進行的,后來聽同學說用CubeMX+Keil,后來用CubeIDE開發。你會發現,隨着版本的更新迭代,軟件平台是越來越智能和方便。在我們的MSP中,也是如此。TI官方推薦Keil,IAR和CCS(主推)。我使用CodeCompserStudio10.0開發后覺得其非常方便,小工具特別多而且常用小工具放在特別明顯的位置,很好找。常用的有觀察內存,打開終端串口等待。所以CCS是一個不錯的選擇。
關於MSP432的入門,我這里有一個技能樹,供大家參考。先了解MSP432軟件架構格式,然后再把所有能運行例程都運行一遍,就可以了解相關概念。然后從通用輸入輸出GPIO入手,試着點亮一個LED,試着使用按鍵作為系統輸入,掌握好定時器和中斷的概念。然后可以了解下常用的單片機通信IIC,SPI和UART,然后淘寶上買一點小模塊自己試着和MSP432通信。剛開始的時候主要是移植人家淘寶賣家的代碼,當你對通信協議比較清楚之后,可以不看賣家提供的例程,自己只看DataSheet嘗試完成通信。大家可以先做一個OLED顯示屏的實驗,作為通信協議的入門。當你能夠熟悉的移植或者自己編寫相關程序后,那么你對MSP432就算入門了。
之后就是研究操作系統,數據處理等一系列問題。
所以我在學習的時候就是多動手,多運行程序,等到自己出現問題后查閱相關幫助文檔。希望能給大家啟發。
本人也很菜,希望大家能夠一起進步,一起學習。我的所有程序應該都會上傳到GitHub上,大家有需要可以下載看看。我個人建議大家自己親自移植,不要看我的程序,你可以比如根據商家提供的51或者stm32的程序,你把它移植到MSP432上,這就很好,這就算你入門了。
大家一起進步!