每天后臺都會收到各種各樣的問題,其實我每天都會抽空回答一下問題。所以,今天寫幾個后臺朋友問的問題。
主要內(nèi)容:
2.關(guān)于STM32中的各種電源
3.IAR中如何查看外設(shè)寄存器
4.關(guān)于問問題
1為什么STM32F0沒有AFIO時鐘呢?
前面寫過一篇文章【關(guān)于STM32時鐘配置的那些坑】里面有講述關(guān)于什么時候開啟AFIO時鐘,有朋友下來去研究AFIO時鐘時發(fā)現(xiàn)STM32F0芯片中沒有AFIO時鐘,于是就問了這么一個問題:你好,為什么STM32F0沒有AFIO時鐘呢?
答案就是STM32F0沒有AFIO時鐘。那又是怎樣實現(xiàn)重定義這個功能的呢?
實現(xiàn)重定義功能也是由特定的控制器完成的,需要使用某個控制器,就需要開啟對應(yīng)的時鐘。
而STM32F1就是由“Alternate function I/O and debug configuration”完成的這個功能,所以開啟的時鐘就是AFIO時鐘。
細心的朋友會發(fā)現(xiàn)除STM32F1外的MCU,像F0、F2、F3···L4,甚至最新的H7這些芯片里面都有這個一個控制器:系統(tǒng)配置控制器 (SYSCFG)。
這個SYSCFG控制器的功能因芯片不同,功能也不同。比如F4系統(tǒng)配置控制器主要用于管理對可執(zhí)行代碼的存儲區(qū)域的地址重映射、選擇以太網(wǎng) PHY 接口以及管理 GPIO 的外部中斷線連接。
像H7的功能就更多了:
很多人經(jīng)??匆妱e人代碼中開啟AFIO時鐘、SYSCFG時鐘,但自己卻不知道究竟什么時候開啟,什么時候不開啟。那么,只需要看一下手冊就行了。
如果你不知道何時開啟,使用STM32CubeMX配置生成初始化代碼查看一下就知道啦。
2關(guān)于STM32中的各種電源
有朋友要求講述一下關(guān)于STM32中ADC參考電壓的問題,這里就簡單就講述一下關(guān)于STM32中各電源的情況。
STM32中電源有:VBAT、 VSS、 VDD、VSSA、 DDA、VCAP、 VREF+、 VREF-等。
關(guān)于電源,可以查看STM32參考手冊【電源控制】的章節(jié),看一下里面電源框圖就一目了然了。拿STM32F4舉例:
其實,主要劃分為三塊區(qū)域:備份區(qū)域(電池電源)、常規(guī)供電電源(VDD)、模擬部分電源(ADC、DAC等)。
一般參考電壓VREF+或VREF-只有在大封裝100及以上引腳才有。沒有參考電壓的芯片就是使用內(nèi)部參考電壓。
有一個條件,VREF+ 引腳電壓:VSSA- < VREF+ < VDDA。
內(nèi)部參考電壓VREFINT
一般內(nèi)部參考電壓 VREFINT 連接到 ADC1_IN17,也就是說可以通過ADC讀取內(nèi)部參考電壓。
3IAR中如何查看外設(shè)寄存器
前面一篇文章【IAR在線調(diào)試查看各種變量的不同方法】講述了IAR View視圖菜單中的幾個子菜單,查看幾個變量的窗口。
于是,后臺就有朋友問了一個問題:IAR開發(fā)環(huán)境中定時器的寄存器狀態(tài)在哪里查看。
因為很多朋友都是從Keil MDK-ARM過來的,知道MDK-ARM里面可以直接查看外設(shè)寄存器,而且可以快速的查看每一個Bit位。如下圖:
那么,回到EWARM,很多朋友找了很久,就是沒有找到類似上面Keil中那種快速查看的方法。
說實話,包括我也是從初學(xué)IAR到后面工作了,一直都沒有找到類似上面可以快速查看外設(shè)寄存器的方法。那么,是不是就沒有辦法確定我們配置的外設(shè)寄存器的值了呢?
答案是:我們可以通過View視圖菜單下Memory和Symbolic Memory子菜單鎖定外設(shè)寄存器所在地址的值。
上圖,是STM32F103中GPIOA的地址,當我們修改過寄存器的值,就會看見對應(yīng)的值。此方法的缺點顯而易見,必須知道外設(shè)寄存器的地址,而且查看非常費時。
-
STM32
+關(guān)注
關(guān)注
2270文章
10915瀏覽量
356788 -
STM32F0
+關(guān)注
關(guān)注
0文章
61瀏覽量
17113 -
AFIO
+關(guān)注
關(guān)注
0文章
6瀏覽量
2968
發(fā)布評論請先 登錄
相關(guān)推薦
評論