|
最近在回顧51單片機(jī),看到您的帖子,突然發(fā)現(xiàn)32確實是復(fù)雜很多。相比起來,51的內(nèi)部感覺清晰可見。
當(dāng)然,32復(fù)雜,是底層的麻煩,比如編譯的時候,需要啟動文件(.s)需要鏈接腳本(.icf/.ld)需要中斷向量表和更多的庫文件。燒錄需要使用jtag或swd下載,且需要指定下載到什么地方。運行前,程序需要配置內(nèi)外部時鐘、配置鎖相環(huán)倍頻、配置各個時鐘總線的分頻、配置向量表地址、以及系統(tǒng)滴答定時器等。然后32的外設(shè)也是默認(rèn)關(guān)閉的,包括寄存器都寫不進(jìn)去的那種,使用外設(shè)前,需要先開啟外設(shè)時鐘,才能開始配置外設(shè)。等等。。。
不過這些內(nèi)容其實被庫和軟件隱藏起來了,或者說幫我們處理好了,其實樓主可以放心,你說的那些如引腳ABCD以及驅(qū)動什么的,站軟件封裝外來看,是很簡單的。
我給個簡單的建議,樓主可以先用CubeMX生成一個程序,他這個軟件可以直接配置IO的輸入輸出包括外設(shè)什么的都可以直接配置。生成出來的程序直接就能跑,只要找到main函數(shù)的while(1),在里面就可以像51一樣直接開始寫程序了,
- HAL_GPIO_WritePin(GPIOA, GPIO_Pin_0, GPIO_PIN_RESET); // PA0=0
- HAL_Delay(500); // 500ms
- HAL_GPIO_WritePin(GPIOA, GPIO_Pin_0, GPIO_PIN_SET); // PA0=1
- HAL_Delay(500); // 500ms
復(fù)制代碼
先簡單改一改、玩一玩,程序能跑起來,再學(xué)一學(xué),就水到渠成了。 |
評分
-
查看全部評分
|