前言
因?yàn)槿ツ觌娰悘?qiáng)制使用TI芯片,所以最近在閑魚上淘了一塊MSP432E401Y準(zhǔn)備學(xué)習(xí)。吃了沒文化的虧,這款MSP432的資料實(shí)在太少了,網(wǎng)上僅有的一些資料也是P系列的,實(shí)在是很頭疼。所以在次記錄一下自己的學(xué)習(xí)過程,為想學(xué)這款板子的伙伴避一些坑。
芯片:MSP432E401Y
開發(fā)環(huán)境:keil5
一、開發(fā)環(huán)境的搭建
TI的芯片大多用ccs開發(fā),但我是從stm32學(xué)起,一直用的keil。而MSP432恰好是基于ARM內(nèi)核的,所以也是可以使用keil開發(fā)的。
芯片包的下載
說來奇怪的很,在keil官網(wǎng)上只有并沒提供MSP432的芯片包,不知道咋搞得。
下面提供另一種下載MSP432芯片包的方式
1.首先,打開keil
2.點(diǎn)擊最右邊的那個(gè)圖標(biāo)
3.在這里,我們點(diǎn)擊Packs,選擇Check For Updates
4.等待更新ing,更新完成之后我們就可以看到出現(xiàn)了很多TI公司的芯片支持包
5.綠色是代表已經(jīng)安裝成功了。但這個(gè)時(shí)候你們的是灰色的,接下來點(diǎn)擊你需要的芯片包,我們當(dāng)然就是選擇MSP432E系列了。
這個(gè)時(shí)候在右側(cè)的界面中。我們點(diǎn)擊Install。
因?yàn)槲乙呀?jīng)下載了,所以我現(xiàn)在界面的Install被Up to data代替了
這里換一個(gè)沒安裝的芯片包給大家演示
6.我們點(diǎn)擊安裝,如何默認(rèn)next就完成了
這是最好的辦法,方便安裝你所需要的的任何支持keil開發(fā)的芯片包
以防出現(xiàn)問題,我也會(huì)在文末提供MSP432E的芯片包的百度網(wǎng)盤鏈接
二、下載TI公司提供的SDK
TI公司還是比較人性化的,他們提供了MSP432E的SDK,上面有著珍貴的外設(shè)驅(qū)動(dòng)和部分例程代碼(有必要吐槽,寫的過于簡單,是達(dá)不到實(shí)際開發(fā)需求的)。為什么說珍貴呢,因?yàn)槿W(wǎng)除此之外幾乎找不著其他資料了。
如果還能回頭的話,聽我一句勸,至少換MSP432P
如果回不了頭,咱們就一起沖他媽的
SDK的百度網(wǎng)盤鏈接,我會(huì)在文末提供。
三、新建工程
現(xiàn)在就到了最后,也是最關(guān)鍵的一步了。新建一個(gè)空的工程。這也是我踩過的一個(gè)大坑,網(wǎng)上為數(shù)不多提供的點(diǎn)燈工程基本上都是不完善的。為此我在CSDN上下了好幾份,太坑人了?。?!
還記得剛剛提到的SDK嗎,我們?nèi)绻陆üこ叹偷糜玫剿?。因?yàn)檫^程也是挺繁瑣的,大家用keil開發(fā)MSP432E的苦日子還在后面呢,所以我在文末會(huì)提供給大家一個(gè)完全好使的點(diǎn)燈工程。
四、讓我們一起點(diǎn)出個(gè)未來吧?。?!
如果不出意外的話,打開點(diǎn)燈的工程會(huì)出現(xiàn)下面這個(gè)界面
有兩個(gè)地方講一下
1.左側(cè)的目錄結(jié)構(gòu)
有這么兩個(gè)文件夾,他們暫時(shí)是空的。這個(gè)我個(gè)人寫工程的一個(gè)小習(xí)慣,一個(gè)用來存放應(yīng)用層代碼,一個(gè)用來存放驅(qū)動(dòng)層代碼。
這樣的話是比較方便移植的,因?yàn)槲覀冎恍枰薷尿?qū)動(dòng)層的代碼,就可以適用于各個(gè)平臺(tái)。
2.幾個(gè)函數(shù)的作用
可以看到這里面涉及到了三個(gè)函數(shù)
有經(jīng)驗(yàn)的小伙伴看字面也大概知道意思
什么?你是小白?。。≡趺锤业膯?,居然用432做自己的初學(xué)板。
開個(gè)玩笑,接下來我們看看這個(gè)函數(shù)
int main(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPION);
GPIOPinTypeGPIOOutput(GPIO_PORTN_BASE, GPIO_PIN_0);
while(1)
{
GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, GPIO_PIN_0);
}
}
第一個(gè)函數(shù),開啟對(duì)應(yīng)GPIO的時(shí)鐘,SYSCTL_PERIPH_GPION這就是表示GPION
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPION);
第二個(gè)函數(shù),設(shè)置GPIO為輸出方向
沒錯(cuò),他只有這一句話,習(xí)慣STM32開發(fā)的小伙伴都驚呆老鐵,搞不懂這是什么表演
像32他們都是定義一個(gè)結(jié)構(gòu)體,里面有著需要設(shè)置的各種參數(shù)
但其實(shí)MSP432也有對(duì)應(yīng)的函數(shù)去設(shè)置上拉、下拉、開漏等等,這個(gè)之后再講
先做好心理準(zhǔn)備,和32區(qū)別很大
GPIOPinTypeGPIOOutput(GPIO_PORTN_BASE, GPIO_PIN_0);
第三個(gè)函數(shù):往對(duì)應(yīng)的IO口寫值
還是32的小伙伴,是不是看著既熟悉有陌生呀!咋眼一瞅是和32很像,但一看第三個(gè)參數(shù)就奇了怪,居然不是0,1是這么個(gè)玩意
對(duì),在MSP432里,第三個(gè)參數(shù)和第二個(gè)參數(shù)一樣的時(shí)候代表往對(duì)應(yīng)IO寫1,第三個(gè)參數(shù)是0的時(shí)候代表往IO寫0
其實(shí)很好理解,我們只要找到GPIO_PIN_0的定義就可以發(fā)現(xiàn),這個(gè)函數(shù)不是對(duì)單個(gè)位進(jìn)行操作的,他是對(duì)一個(gè)寄存器組進(jìn)行操作的。
GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, GPIO_PIN_0);
燒錄工程
接下來是代碼的燒錄。這里也是有小講究的。TI的板子都是自帶仿真器的,所以我們不需要額外的STlink這些仿真器下載,直接使用串口線就可以了。
選擇CMSIS-DAP
好了,現(xiàn)在就可以正常的燒錄工程了。
太好了,在學(xué)習(xí)單片機(jī)的路上,點(diǎn)亮燈就意味著成功了一大半?。?!文章來源:http://www.zghlxwxcb.cn/news/detail-607419.html
下載鏈接
三個(gè)文件都在里面
芯片包、SDK開發(fā)包、點(diǎn)燈工程
鏈接:https://pan.baidu.com/s/1Rx0_FB1mJ1P8TKtr7x1HYw
提取碼:c52s文章來源地址http://www.zghlxwxcb.cn/news/detail-607419.html
到了這里,關(guān)于MSP432E401Y學(xué)習(xí)筆記1的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!