STM32入門教程-2023持續(xù)更新中

GPIO的只能使用庫(kù)函數(shù)讀寫位整體操作
推完輸出 高低輸出同 與stm32完全相同
開漏輸出 僅僅輸出低電平
(由上拉電阻得到高電平信號(hào))輸出關(guān)閉的結(jié)束
GPIO八種狀態(tài)
輸入:浮空 上拉 下拉:取決于默認(rèn)電平而已
模擬
輸出:開漏,推挽上述已講解
服用輸出
:
這個(gè)模式的輸出決定了之后按鍵的結(jié)果,
下接按鍵:1.不加上拉,但是弄成上拉模式
2.加一個(gè)上拉電阻,用浮空模式或者上拉即可
上接按鍵:1.下拉模式不加電阻
2.直接加下拉電阻:下拉或者浮空
編譯配置
第三種中強(qiáng)制枚舉(萬(wàn)金油指令加action)
宏定義:
1.定義之#define ABC 12345
作用有 賦值 定義一個(gè) 帶入文件
則應(yīng)用宏定義:int a =ABC 即可
2.typedef unsigned char unit8——t
代表把左邊變成了右邊,
3.struct是
1.struct定義
2.元素賦值
一.led點(diǎn)亮7.27
7.2
思路是庫(kù)函數(shù) 不是寄存器配置法
所以利用置位法和復(fù)位函數(shù)進(jìn)行就好了
輸入利用一個(gè)封裝函數(shù)
輸出力用一個(gè)封裝函數(shù)
就可以同時(shí)定義兩者了
鍵盤分兩步:先是配置出事函數(shù)
再是返回KEY值
key是默然為零
中間是case的使用選擇switch
返回
或者按鍵檢測(cè)
設(shè)置返回值
key默認(rèn)等于零
在判定是否松手,再賦值keynum
再返回
2.
readinput 加bit就是某一位,否則就是所有為
輸出bit用來(lái)翻轉(zhuǎn)取反
3.必須定義一個(gè)全局變量
4.LED——init()啥意思?
哦是一個(gè)直接調(diào)用的函數(shù):就是個(gè)很簡(jiǎn)單的調(diào)用加上配置
(調(diào)用函數(shù)式配置加上調(diào)用)
5.
中斷系統(tǒng)
GPIO口經(jīng)過(guò)了輸出之后經(jīng)過(guò)引腳的譯碼器分配地址,再加上一些其他的usb等模塊,構(gòu)成了20個(gè)輸出線路

一。時(shí)鐘配置,把上述的寄存器全部配置,然后這個(gè)配置看下面的總線即可
二。gpio輸出步驟
1.(1)輸出結(jié)構(gòu)體,(2)并定義其中mode,pin,speed,(3)并且初始化其中的外設(shè)
三.AFIO
輸出引腳即可(因?yàn)榍懊娼Y(jié)構(gòu)包含在GPIO里面)
四.EXTI
1.調(diào)用exti聲明
2.結(jié)構(gòu)體的聲明加exti命名
(1)line:中短線
(2)lincmd:使能數(shù)值
(3)mod:中斷模式還是枚舉模式
(4)trigger:邊沿觸發(fā)
3.初始化
五.nvic
2.結(jié)構(gòu)體聲明
(1.)nvic線輸出
(2)使能
(3)優(yōu)先級(jí)
(4)優(yōu)先級(jí)
1.中斷分組
3.初始化結(jié)構(gòu)體
六:中斷函數(shù)
(1)使用固定的exti15到10的中斷函數(shù)
(2)檢驗(yàn)是否是給定線
(if ==set)即可
6.總線
所有GPIO口都是掛在APB2總線上的
然后又好多個(gè)GPIO
每個(gè)GPIO都有16個(gè)引腳接口
定時(shí)器
1.選擇六個(gè)函數(shù)配置外部函數(shù)
(1)開啟時(shí)鐘,
(2)內(nèi)部時(shí)鐘來(lái)源的選擇
(3)定時(shí)器選擇
2.實(shí)際單元永
(1)定義結(jié)構(gòu)體:結(jié)構(gòu)體函數(shù)+結(jié)構(gòu)命名
(2)參數(shù)包括:(1)分頻
(2)向上計(jì)數(shù)模式
(3)重裝計(jì)數(shù)器f1
(4)預(yù)分頻器發(fā)
(5)重復(fù)計(jì)數(shù)器的數(shù)值:高級(jí)計(jì)數(shù)器之外給0
(6)
3.中斷輸出
(1)更新中斷
(2.enable)
4。nvid 永 nvic
(1優(yōu)先級(jí)分組)
(2)結(jié)構(gòu)命名+結(jié)構(gòu)化
(3)參數(shù)化:
(4)舒適化參數(shù)體
5.運(yùn)行控制 用tim cvid函數(shù)
啟動(dòng)定時(shí)器(tim2,enable);
6.中斷函數(shù)
先定義一個(gè)void tmier (void)
{if(==set)
{執(zhí)行
刪除}
、
}
7.然后在h中聲明一下第一句
另外復(fù)習(xí)下中斷
:1.庫(kù)函數(shù)調(diào)用,不過(guò)變量用external
一個(gè)手動(dòng)計(jì)數(shù)器的值需要考慮
時(shí)鐘:
系統(tǒng)時(shí)鐘
定時(shí)器時(shí)鐘
給予看門狗晶振
pwm的stm32的最終形態(tài):
通用定時(shí)器:1.左側(cè)進(jìn)行比較:輸出一個(gè)比較電平
比較電平是八種輸出關(guān)系:
(1)匹配運(yùn)算: ref分別置數(shù) 有效,制低電平,電平翻轉(zhuǎn)(相對(duì)于上一次翻轉(zhuǎn),僅對(duì)于上升沿下降沿),凍結(jié)(等于上一個(gè)狀態(tài)
),強(qiáng)制為低電平或者高電平
(2)pwm狀態(tài)
2.劑型選擇
3.使能輸出
4.gpio輸出通道