工作日常總結學習

2021-09-25 22:29:47 字數 1382 閱讀 5089

主要記錄工作當中一些基礎知識的累積,方便日後複習。

我們把系統時鐘配置分為七個步驟,分別用標號①~⑦表示,詳細過程為:

① 時鐘源引數設定:hse 或者 hsi 配置。這裡我們選擇 hse 為時鐘源,所以我們之前必須

在 rcc 配置中我們開啟 hse。

② 時鐘源選擇:hse 還是 hsi。這裡我們配置選擇器選擇 hse 即可。

③ pll 分頻係數 m 配置。分頻係數 m 我們設定為 5。

④ 主 pll 倍頻係數 n 配置。倍頻係數 n 我們設定為 160。

⑤ 主 pll 分頻係數 p 配置。分頻係數 p 我們配置為 2。

⑥ 系統時鐘時鐘源選擇:pll,hsi 還是 hse。這裡毫無疑問,我們選擇 pll,選擇器選擇 pllclk。

⑦ 經過上面配置以後此時 sysclk=400mhz。

ahb,apb1、apb2、apb3 和 apb 匯流排時鐘以及 systick 時鐘的最終**都是系統時鐘sysclk。其中 ahb 匯流排時鐘 hclk 是由 sysclk 經過 ahb 預分頻器之後的來,如果我們要設定hclk為200mhz(最大也就200mhz),那麼我們只需要配置圖中標號8的地方為2即可。得到 hclk 之後,接下來我們將在圖示號 9~12 處同樣的方法依次配置 apb3、apb1、apb2和 apb4 分頻係數分別為 2,2、2 和 2 即可。注意!systick 固定為 400mhz,配置完成之後,那麼 hclk=200mhz,systic=400mhz,pclk1=100mhz,pclk2=100mhz,pclk3=100mhz,pclk4=100mhz,這和我們使用 stm32_clock_init 函式配置的時鐘是一模一樣的。

htim7.instance = tim7;

htim7.init.prescaler = 2*hal_rcc_getpclk1freq()/10000-1

htim7.init.countermode = tim_countermode_up;

htim7.init.period = 999;

htim7.init.autoreloadpreload = tim_autoreload_preload_disable;

定時器中斷更新週期(t) = timxclk / prescaler + 1)/period + 1)

計算可得預分頻係數為19999

t = 200mhz / (19999+1)/(999+1) = 0.1s

工作日常 es6學習總結

輸出變數 寫法1 export const name fredzhao export const age 23 export const number 233 寫法2 const name fredzhao const age 23 const number 233 export 將該模組的三個引數...

20200515工作日常

今天我的全志r16 a33 android6.0專案流產了,領導覺得安卓6.0系統不夠穩定,因為這並不是全志官方推出的系統,啊,好難受。我該不該繼續搞下去呢?搞這個是很耗費時間的,如果我現在在上學,我或許會選擇繼續搞下去,嗯,概率可能大一些吧。嗯,那就這樣吧,我並不相信自己以後會把這個專案繼續下去,...

工作日常記錄

三 利用 redis 實現分布式鎖 主要是介紹 python 操作 redis 的有序集合,以及使用 redis 實現分布式鎖的功能。有序集合是一種資料型別,類似於集合和雜湊之間的混合。像集合一樣,排序集由唯一的,非重複的字串元素組成,因此從某種意義上說,有序集合也是乙個集合。但是,雖然集合內的元素...