STM32F103ZET6學習總結

2021-07-31 23:00:44 字數 1526 閱讀 4620

1.任何外設在使用之前,必須先使能相應的時鐘。

2.使用不同外設時,gpio引腳應該如何配置?

(1)gpio_mode_ain 模擬輸入

(2)gpio_mode_in_floating 浮空輸入(3

)gpio_mode_ipd

下拉輸入(4

)gpio_mode_ipu

上拉輸入

(5)gpio_mode_out_od 開漏輸出(6

)gpio_mode_out_pp

推挽輸出

(7)gpio_mode_af_od 復用開漏輸出

(8)gpio_mode_af_pp 復用推挽輸出

上電復位後,

gpio

預設為浮空狀態,部分特殊功能引腳為特定狀態。

3.mdk中u8是什麼資料型別?

答:右鍵--轉到定義--出現乙個browser的視窗--雙擊u8--跳轉到stm32f10x.h:typedef uint8_t  u8;

--檢視uint8_t定義:typedef  unsigned char uint8_t;

4.void__bis_sr_register(unsigned short){}函式

功能:將cpu 中sr 暫存器中的某些位置1。其引數為遮蔽碼,需要置1 的位為1。

例:__bis_sr_register(lpm3_bits + gie);//cpu進入lpm3低功耗模式,同時開啟全域性中斷

5.__no_init關鍵字?

答:__no_init用於禁止系統啟動時的變數初始化,是給linker用的,定義到不初始化的塊中去,在系統意外復位時,這個變數值能保留。

noinit做到復位後資料保持不變。

//使能串列埠1

usart_cmd(usart1,enable); 

//設定中斷型別

usart_itconfig(usart1,usart_it_rxne,enable);///usart_it_rxne接收緩衝區非空;enable開啟此中斷

8.學習外部中斷時,感覺外部中斷反應很遲鈍?

原因:按鍵觸發外部中斷,按鍵後,引腳接地,應該使用下降沿觸發,我卻使用了上公升沿。

9.關於stm32,一次中斷,多次進入中斷服務函式的問題說明?

10.stm32什麼時候開啟復用時鐘afio?答:只要操作evcr/exticrx/mapr的時候,就必須開啟復用功能時鐘. 

也就是說,當你要配置stm32的事件輸出/外部中斷/重對映的時候.就必須開啟復用時鐘。

11.檢視stm32引腳的預設功能及重對映後的功能?答:《stm32f10xzet6 datasheet》table5中檢視

12.學習正點原子rtc的例程時,程式沒有報錯,就是不正常執行?原因:呼叫的其他原檔案中有個printf的函式,而在我的usart.c中,沒有寫這個函式。

STM32F103ZET6移植FreeRTOS過程

2.解壓 我們需要幾個檔案 1 在freertosv9.0.0 freertos source 下的所有c檔案 ps 並不是所有都一定要用,按需要取 2 在freertosv9.0.0 freertos source include整個資料夾 3 在freertosv9.0.0 freertos s...

STM32F103ZET6 電容觸控按鍵

開關閉合,電容充電,直至電容兩端電壓 v1 rc電路充放電公式 vt v0 v1 v0 1 exp t rc v0 為電容上的初始電壓值 v1 為電容最終可充到或放到的電壓值 vt 為t時刻電容上的電壓值。如果v0為0,也就是從0v開始充電。那麼公式簡化 vt v1 1 exp t rc 結論 同樣...

STM32F103ZET6待機喚醒 低功耗

在系統或者電源復位後,微控制器出於執行狀態之下,hclk為cpu提供時鐘,核心執行 當cpu不需要繼續執行時,可以利用多種低功耗模式來節省功耗,例如等待某個事件觸發。睡眠模式 核心停止,外設如nvic,系統時鐘systick仍執行。停止模式 所有時鐘都已停止。1.8v核心電源工作。pll,his和h...