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

配置STM32寄存器控制GPIO點(diǎn)亮LED

評論