籃球組運動組任務(12.19到12.26任務)

漆黒の貴公子發表於2020-12-29

籃球組運動組任務(12.19到12.26任務)
本週任務:
理論學習:

1.瞭解STM32時鐘結構
2.瞭解微控制器中的事件和中斷是什麼,弄清它們之間的區別
3.理解中斷優先順序
4.瞭解STM32的定時器,並學習定時器的基本結構和功能

實踐專案:

通過按鍵控制LED燈的亮滅,並利用定時器中斷,對按鍵進行消抖
利用定時器,實現呼吸燈的效果(選做)
理論學習:
1.瞭解STM32時鐘結構
在 STM32 中,有五個時鐘源,為 HSI、HSE、LSI、LSE、PLL。從時脈頻率來分可以分為
高速時鐘源和低速時鐘源,在這 5 箇中 HIS,HSE 以及 PLL 是高速時鐘,LSI 和 LSE 是低速時
鍾。從來源可分為外部時鐘源和內部時鐘源,外部時鐘源就是從外部通過接晶振的方式獲取時
鍾源,其中 HSE 和 LSE 是外部時鐘源,其他的是內部時鐘源。下面我們看看 STM32 的 5 個時
鍾源,我們講解順序是按圖中紅圈標示的順序:
①、HSI 是高速內部時鐘,RC 振盪器,頻率為 8MHz。 ②、HSE 是高速外部時鐘,可接石英/陶瓷諧振器,或者接外部時鐘源,頻率範圍為 4MHz~16MHz。
我們的開發板接的是 8M 的晶振。
③、LSI 是低速內部時鐘,RC 振盪器,頻率為 40kHz。獨立看門狗的時鐘源只能是 LSI,同
時 LSI 還可以作為 RTC 的時鐘源。
④、LSE 是低速外部時鐘,接頻率為 32.768kHz 的石英晶體。這個主要是 RTC 的時鐘源。
⑤、PLL 為鎖相環倍頻輸出,其時鐘輸入源可選擇為 HSI/2、HSE 或者 HSE/2。倍頻可選擇為
ALIENTEK MiniSTM32 V3.0 開發板教程
87
STM32 不完全手冊(HAL 庫版)
2~16 倍,但是其輸出頻率最大不得超過 72MHz。
stm32f103時鐘配置stm32f103時鐘配置

2.瞭解微控制器中的事件和中斷是什麼,弄清它們之間的區別
事件,Event,可以這麼理解,當MCU系統外設滿足了一定的條件,改變了相應的狀態標誌位,這時候就認為發生了某個事件。
中斷,Interrupt,就是MCU正在執行某項任務,被此項任務外的其他事件打斷,CPU將正在執行的任務暫停(保護現場),轉而執行其他更高優先順序的事件任務(處理中斷),等到這個事件任務執行完成,CPU再返回執行先前被打斷的任務(返回/恢復現場)。觸發中斷的事件也稱為中斷事件。處理中斷的任務也稱為中斷服務程式或中斷程式。中斷屬於正常現象。
事件與中斷事件是包含關係,即事件可分為中斷事件或非中斷事件。中斷事件是一種可以導致中斷髮生的事件。中斷則是因為中斷事件的發生而導致的後續行為過程,因此中斷一定有一個對應的事件,但一個事件不一定對應一箇中斷。從外部激勵訊號來看,中斷和事件的產生源都可以是一樣的。之所以分成2個部分,由於中斷是需要CPU參與的,需要軟體的中斷服務函式才能完成中斷後產生的結果;但是事件,是靠脈衝發生器產生一個脈衝,進而由硬體自動完成這個事件產生的結果。
3.理解中斷優先順序
在這裡插入圖片描述
在這裡插入圖片描述
4.瞭解STM32的定時器,並學習定時器的基本結構和功能
通用定時器是一個通過可程式設計預分頻器驅動的16位自動裝載計數器構成。它適用於多種場合,包括測量輸入訊號的脈衝長度(輸入捕獲)或者產生輸出波形(輸出比較和PWM)。使用定時器預分頻器和RCC時鐘控制器預分頻器,脈衝長度和波形週期可以在幾個微秒到幾個毫秒間調整。每個定時器都是完全獨立的,沒有互相共享任何資源。它們可以一起同步操作。

通用定時器功能
通用TIMx (TIM2、TIM3、TIM4和TIM5)定時器功能包括:
● 16位向上、向下、向上/向下自動裝載計數器。
● 16位可程式設計(可以實時修改)預分頻器,計數器時脈頻率的分頻係數為1~65536之間的任意數值。
● 4個獨立通道:
─ 輸入捕獲
─ 輸出比較
─ PWM生成(邊緣或中間對齊模式)
─ 單脈衝模式輸出
● 使用外部訊號控制定時器和定時器互連的同步電路。
● 如下事件發生時產生中斷/DMA:
─ 更新:計數器向上溢位/向下溢位,計數器初始化(通過軟體或者內部/外部觸發)。
─ 觸發事件(計數器啟動、停止、初始化或者由內部/外部觸發計數)。
─ 輸入捕獲。
─ 輸出比較。
● 支援針對定位的增量(正交)編碼器和霍爾感測器電路。
● 觸發輸入作為外部時鐘或者按週期的電流管理。

實踐專案
通過按鍵控制LED燈的亮滅,並利用定時器中斷,對按鍵進行消抖
成功
利用定時器,實現呼吸燈的效果(選做)
找視訊做了遍,成功了,就是沒太看懂程式碼,等抽空琢磨琢磨。

相關文章