注意 STM32庫函式中未用到的引數也一定要初始化

2021-07-04 10:55:21 字數 646 閱讀 9378

注意使用stm32庫函式時,對於不用的引數,一定要初始化,否則有可能影響到有用的位!

比如我在配置adc時,精度配置為12位,但輸出的一直是8位的,最後發現由於沒有初始化adc_initstruct.adc_externaltrigconv這個值,這個值是不確定的。庫函式中做如下計算

tmpreg  |= (uint32_t)(adc_initstruct->adc_resolution | ((uint32_t)(adc_initstruct->adc_continuousconvmode) << 13) |

adc_initstruct->adc_externaltrigconvedge | adc_initstruct->adc_externaltrigconv |

adc_initstruct->adc_dataalign | adc_initstruct->adc_scandirection);

/* write to adcx cfgr */

adcx->cfgr1 = tmpreg;

最終該值影響到了cfgr1,又沒有開啟引數檢查功能,因此出現了上述錯誤!所以在類似使用中,一定要用初始化函式如:adc_structinit(adc_inittypedef*adc_initstruct);來將定義的結構體的資料初始化。以防未用到的引數將有效的位改寫。

STM32鍵盤 庫函式

昨天晚上老大回來看我頻繁使用暫存器寫程式給出指點,告訴我盡量使用庫函式,少使用暫存器,畢竟暫存器在後面使用的時候還要乙個乙個查詢手冊可能太麻煩了,nice!這次使用庫函式操作鍵盤,很基礎的實驗,其中摻雜了之前的蜂鳴器和led內容。感覺基礎鍵盤實驗比較有價值的還是那個鍵盤操作函式,以下給出標準模板,m...

stm32 按鍵(庫函式版)

不得不說程序太慢了 感覺很慌 但是幹什麼事情又非常的從容 學的很慢學著學著發現 不止是要學新東西 那些 以前早該知道的東西也忘了好多 還有 一定一定要好好學習 擴充套件知識面 什麼東西都一定要學精 因為知識的封鎖真的真的很可怕 很可怕 所以一定多學習 多動手 要加油 終於可以看這個的重點了 按鍵 就...

STM32 庫函式流水燈程式

我用的stm32f103zet6晶元 led給0亮 先在新建好的專案資料夾syste裡建乙個led資料夾用於存放led.c和led.h 如 接下來直接看 吧!main.c include sys.h include delay.h include led.h intmain void led.c i...