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