stm32温度控制按键_干货 | STM32常用功能介绍
RM校內賽就在眼前,但是咸魚了一個寒假,對比賽毫無準備,腫么辦??
莫得事!因為我們給大噶帶來了新一波干貨!今天介紹的STM32單片機,能統領“蝦兵蟹將”,
大噶好我們是蝦兵蟹將( ? ?ω?? )?
成為“海的男人”“天兵天將”
這些大作,其實都是機協之前發的干貨哦,感興趣的話可以翻翻公眾號的歷史記錄瞅多幾眼ヾ(?°?°?)ノ゙
言歸正傳,今天給大家介紹一下STM32的幾個常用功能
好讓大家在校內賽神擋殺神取得優異成績!
1.GPIO的常用工作模式及其功能
GPIO(通用輸入輸出),是 STM32 的一種外設,與大部分芯片引腳直接掛鉤,以STM32F103ZET6 芯片為例,總共有 7 個 GPIO 外設,定義為 GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF 以及 GPIOG,每個 GPIO 外設有 16 個引腳,定義為 PA0..PA15、PB0..PB15 等等,總共有 112 個 GPIO 引腳。
為實現不同工作條件要求,GPIO 有8 種工作模式,通過配置 GPIOx_CRL 或GPIOx_CRH 寄存器可以非常方便控制。GPIO 最簡單的功能是輸出高低電平,GPIO 還可以被設置為輸入功能,用于讀取按鍵等輸入信號。
可以看到密密麻麻的引腳哦
常用輸入模式
輸入浮空:該模式也是 STM32 復位之后默認模式。浮空就是邏輯器件與引腳即不接高電平,也不接低電平。由于邏輯器件的內部結構,當它輸入引腳懸空時,相當于該引腳接了高電平。這種設置在數據傳輸時用的比較多。
輸入上拉/下拉:上拉就是把電位拉高,比如拉到VCC(電源電壓),將不確定的信號通過一個電阻嵌位在高電平。電阻同時起到限流的作用。下拉就相反,通過一個電阻把電位拉低,比如拉到GND,將不確定的信號通過一個電阻嵌位在低電平。
應用實例(按鍵檢測)
利用 GPIO 的輸入功能可以非常方便讀取到當前按鍵狀態。按鍵檢測主要用上拉或者下拉輸入,例如按鍵的一端接GPIO,另一邊接地,設置該GPIO為上拉輸入,按鍵按下時GPIO電平會由高變低,可以準確地檢測按鍵是否被按下。
常用輸出模式
推挽通用輸出:可以輸出高,低電平,連接數字器件,推拉式輸出級即提高電路的負載能力,又提高開關速度。
開漏通用輸出:輸出端相當于三極管的集電極,要得到高電平狀態需要上拉電阻才行,適合于做電流型的驅動,其吸收電流的能力相對強(一般20mA以內)。
應用實例(點燈)
LED燈連接到STM32的GPIO引腳,可以通過控制低電平(0)點亮,高電平(1)熄滅。點燈的編程要求里面就有,要將GPIO目標引腳設為推挽輸出模式,再編寫簡單的測試程序,控制GPIO引腳輸出高、低電平。
2.定時器輸出PWM
PWM(脈寬調制)
就是對逆變電路開關器件的通斷進行控制,使輸出端得到一系列幅值相等的脈沖,用這些脈沖來代替正弦波或所需要的波形。按一定的規則對各脈沖的寬度進行調制,即可改變逆變電路輸出電壓的大小,也可改變輸出頻率。(打個比方,就是在電流的有效值不變的前提下,改變電流的峰值和周期等,使電流成為我們可以制作出來的類型)
PWM波的作用
利用改變脈沖的寬度或占空比,以調節輸出電壓或電流,在很多工程應用中,需要使用到PWM波,例如電機調速、溫度控制調整功率等
如何用定時器輸出PWM
(可以看具體舉例,也可以看抽象程序,意思相同)
1.具體舉例:例如:我想輸出1.98V的電壓,但是單片機只能輸出3.3V高電平,0V低電平。PWM波是周期性的,那就在PWM波的一個周期t1內(包含了多個計時器中斷周期t),比如1ms為周期,前0.6ms輸出高電平,后0.4ms輸出低電平,其效果就和1.98V一樣了。改變高電平占PWM波周期的比例,也就是改變高電平所占的計時器中斷周期個數n2(n2=t2/t),就能輸出0到3.3V之間任意電壓了。(n1=t1/t,t3為低電平所占時間,參數可對照下圖)
2.更具體的定時器PWM輸出流程圖請看博文(鏈接:https://blog.csdn.net/u010755676/article/details/79763315)
3.中斷
中斷的定義:本來處于正常狀態(比如我現在處于寫程序狀態),突然有個外部因素干擾(比如快遞員打電話叫我去拿快遞),然后馬上處理干擾事項(跑下樓去簽收快遞),解決好后又回到原來正常狀態(拿好快遞后又開始寫程序)。在中斷產生后一般會去執行中斷服務函數,實現特定任務(這里跑下來去簽收快遞就是中斷服務函數內容)。
定時器中斷
定時器中斷是由單片機中的定時器溢出而申請的中斷。
例如,我設置定時器的周期為1s,那么每隔1s都會產生定時器中斷,并完成我所編程好的任務。
串口接收中斷
串口通信一般最簡單的有兩個中斷:串口接收中斷、串口發送中斷。實際上應用中常用串口接收中斷,這樣可以在監測到有外部設備對本機通過串口發送數據時就可以馬上進入中斷服務函數,在服務函數中接收數據。
4.USART串口通訊
定義:串口通訊是一種設備間很常用的串行通訊方式,串口按位發送和接收字節,盡管比按字節的并行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。
通信協議是需要通信的雙方所達成的一種約定,它對包括數據格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題作出統一規定,通信雙方都必須共同遵守(就比如約定雙方都通過電話交流,而且都要講中文)。
串口形容一下就是一條車道,而并口通訊就是有8個車道同一時刻能傳送8位(一個字節)數據。但是并不是說并口快,由于8位通道之間的互相干擾(串擾),傳輸時速度就受到了限制,傳輸容易出錯。串口沒有互相干擾。并口同時發送的數據量大,但要比串口慢。串口硬盤就是這樣被人們重視的。
最常用的功能:利用串口來輸出調試信息,從而達到幫助我們調試程序的目的。例如要檢測can通信初始化有無成功,就編寫程序使其每次初始化成功后會發一串文字給電腦,當有部分初始化不成功后就可以迅速發現。
結尾啦~
我們這次學習的幾個功能中,
GPIO模式的選擇是許多后續操作的基礎步驟,
定時器輸出PWM是電機調速很重要的一個方法,
中斷是以后計時常用的手段,
串口調參更是精確調車的技能呀,
每個功能都灰常有用,大噶是不是都已經......
好的,這次的介紹就到這里啦,期待與你們的下次相見
?(?????)?
文案:郭逸豪
排版:郭逸豪
總結
以上是生活随笔為你收集整理的stm32温度控制按键_干货 | STM32常用功能介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以 1980 年代 Mac OS 为灵感
- 下一篇: google提供的adb工具包_开源化学