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...