同樣是用STM32點亮一顆LED燈,寄存器和庫有什么區(qū)別?
我們先嘗試用寄存器點亮。
首先在創(chuàng)建工程的時候就比較麻煩,新建工程,起個名字,選擇一個合適的芯片,新建main.c,然后隨手來一個main函數(shù)。
32的工程和51還不太一樣,需要在工程里面添加啟動文件,這個啟動文件在ST的官網(wǎng)能找到。
編譯代碼的時候,會提示缺少各種頭文件,這些頭文件,在官網(wǎng)的標準庫里面也能找到,按照提示拷貝進去就行。
準備工作做好了,就是真正開始點燈的時候,這一步必須要借助原理圖和芯片手冊。
配置GPIO時鐘、引腳模式、輸出方式、輸出速度、上拉、輸出高電平,這一波操作下來,如果英文水平一般,那真的很痛苦。
代碼寫的比較隨意,也沒用位移操作,純粹就是為了點個燈。運行代碼,燈確實亮了。
總結(jié)一下,用寄存器點燈確實麻煩,建立工程麻煩,讀芯片手冊也麻煩。
毫不夸張的說,如果沒有基礎(chǔ),芯片又比較冷門,半天時間,保證你可以從入門到放棄。
而且剪輯視頻的時候,很多細節(jié)還沒放進去,比如微庫,比如重置運行,少一個,你都要倒騰半天時間。
再來看下HAL庫點燈,選擇HAL庫,就是因為他最簡單。
配合cubemx,創(chuàng)建工程也只是分分鐘的事。
打開main函數(shù),其實步驟跟剛才的差不多,只是配置時鐘,從剛才的寄存器變成了調(diào)用函數(shù),好處就是,記住這個函數(shù)名就行,不用去看芯片手冊。
至于剛才的配置引腳模式、輸出方式等等,都變成了一個結(jié)構(gòu)體,結(jié)合庫手冊,給結(jié)構(gòu)體成員逐個賦值就行。
接下來,再次調(diào)用兩個函數(shù),一個初始化、一個讓引腳輸出。只要你不去刨根問底,用庫來實現(xiàn)功能,比寄存器簡單的多,對新手也特別的友好。
審核編輯:劉清
-
led燈
+關(guān)注
關(guān)注
22文章
1592瀏覽量
107953 -
寄存器
+關(guān)注
關(guān)注
31文章
5336瀏覽量
120232 -
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355752 -
HAL庫
+關(guān)注
關(guān)注
1文章
121瀏覽量
6217
原文標題:同樣是點燈,看看寄存器和庫的區(qū)別
文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論