久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: STM32單片機之GPIO概述 [打印本頁]

作者: 小小涼冰樂    時間: 2020-6-18 17:31
標題: STM32單片機之GPIO概述

GPIO的概述

2.1.1 什么是GPIO?GPIO的作用?

              GPIO:通用輸入輸出控制器。

              GPIO的作用:芯片用來控制或采集外部器件的相關信息

2.1.2 GPIO的特征

<1>輸入狀態:浮空、上拉/下拉、模擬

<2>輸出狀態:推挽或開漏 + 上拉、下拉

<3>將數據輸入到輸入數據寄存器 (GPIOx_IDR) 或外設(復用功能輸入)

<4>從輸出數據寄存器 (GPIOx_ODR) 或外設(復用功能輸出)輸出數據

<5>置位和復位寄存器 (GPIOx_BSRR),對 GPIOx_ODR 具有按位寫權限

<6>模擬功能

<7>復用功能輸入 /輸出選擇寄存器(一個 I/O 最多可具有 16 個復用功能)

<8>輸入數據寄存器 (GPIOx_IDR) 每隔 1 個 AHB1 時鐘周期捕獲一次 I/O 引腳的數據。

<9>所有 GPIO 引腳都具有內部弱上拉及下拉電阻,可根據 GPIOx_PUPDR 寄存器中的值來打開 /關閉。

2.1.3 GPIO 功能描述

8) 具有上拉或下拉功能的復用功能開漏

注意:每個 I/O 端口位均可自由編程,但 I/O 端口寄存器必須按 32 位字、半字或字節進行訪問

2.1.4 5V容忍原理

2.1.5 I/O 引腳復用器和映射

              微控制器 I/O 引腳通過一個復用器連接到板載外設 /模塊,該復用器一次僅允許一個外設的復用功能 (AF) 連接到 I/O 引腳

<1>完成復位后,所有 I/O 都會連接到系統的復用功能 0 (AF0)。

<2>外設的復用功能映射到 AF1 至 AF13。

<3>Cortex?-M4F EVENTOUT 映射到 AF15

2.2 GPIO的框架

2.2.1 輸入配置

● 輸出緩沖器被關閉

● 施密特觸發器輸入被打開

● 根據 GPIOx_PUPDR 寄存器中的值決定是否打開上拉和下拉電阻

● 輸入數據寄存器每隔 1 個 AHB1 時鐘周期對 I/O 引腳上的數據進行一次采樣

● 對輸入數據寄存器的讀訪問可獲取 I/O 狀態

2.2.2 輸出配置

              

● 輸出緩沖器被打開:

開漏模式:輸出寄存器中的“0”可激活 N-MOS,而輸出寄存器中的“1 ”會使端口保持高組態 (Hi-Z)( P-MOS 始終不激活)。

推挽模式:輸出寄存器中的“0”可激活 N-MOS,而輸出寄存器中的“1 ”可激活P-MOS。

● 施密特觸發器輸入被打開

● 根據 GPIOx_PUPDR 寄存器中的值決定是否打開弱上拉電阻和下拉電阻

● 輸入數據寄存器每隔 1 個 AHB1 時鐘周期對 I/O 引腳上的數據進行一次采樣

● 對輸入數據寄存器的讀訪問可獲取 I/O 狀態

●對輸出數據寄存器的讀訪問可獲取最后的寫入值

2.2.3 復用功能

● 可將輸出緩沖器配置為開漏或推挽

● 輸出緩沖器由來自外設的信號驅動(發送器使能和數據)

● 施密特觸發器輸入被打開

● 根據 GPIOx_PUPDR 寄存器中的值決定是否打開弱上拉電阻和下拉電阻

● 輸入數據寄存器每隔 1 個 AHB1 時鐘周期對 I/O 引腳上的數據進行一次采樣

● 對輸入數據寄存器的讀訪問可獲取 I/O 狀態

復用與通用的對比:

2.2.4 模擬功能

● 輸出緩沖器被禁止。

● 施密特觸發器輸入停用, I/O 引腳的每個模擬輸入的功耗變為零。施密特觸發器的輸出被

強制處理為恒定值 (0)。

● 弱上拉和下拉電阻被關閉。

● 對輸入數據寄存器的讀訪問值為“0”。

2.3 GPIO相關寄存器

2.3.1 GPIO寄存器

              每個IO口有10個寄存器控制

4 個 32 位配置寄存器

GPIOx_MODER

GPIOx_OTYPER

GPIOx_OSPEEDR

GPIOx_PUPDR

2 個 32 位數據寄存器

GPIOx_IDR

GPIOx_ODR

1 個 32 位置位 /復位寄存器

GPIOx_BSRR

1 個 32 位鎖定寄存器

GPIOx_LCKR

2 個 32 位復用功能選擇寄存器

GPIOx_AFRL

GPIOx_AFRH

2.3.2 寄存器相關縮寫

              

2.4 軟件設計

2.4.1 LED燈

              1.開時鐘

              2.初始化GPIO

              3.點亮燈

2.4.2 蜂鳴器

1.開時鐘

              2.初始化GPIO

              3.開啟蜂鳴器

2.4.3 按鍵

1.開時鐘

              2.初始化GPIO

              3.按鍵識別

                            延時消抖

                            松手檢測

2.5 補充

2.5.1 IO口與端口

GPIO口以分組形式存在,每組(端口)有16個IO口。

                            I/O口:某個具體引腳

                            端口:16個I/O口組成

2.5.2 變量與寄存器的異同

                            相同點:

變量與寄存器都向內存申請空間,可以存儲數據,都有相應地址。

                            不同點:

變量地址隨時變化,寄存器地址永遠固定;

變量可以存儲浮點類型數據,寄存器不能存儲浮點類型數據。

2.5.3 各類電平

              CMOS電平:

3.3V              邏輯1

0.0V              邏輯0

              TTL電平:

                            5.0V              邏輯1

                            0.0V              邏輯0

              485/232電平:

                            -15V~-3V              邏輯1

                            3V~15V              邏輯0

              差分信號:

                            定義:有兩條線,通過兩條線的電壓差作為邏輯0/1。

                            好處:傳輸距離很遠。衰減一致,保證邏輯。

2.5.4 問答

<1>為什么使用模塊化編程?

1.降低代碼冗余度,提高代碼的利用率

2.便于閱讀和維護

<2>為什么使用條件編譯?

1.為了使代碼更加靈活

<3>頭文件使用條件編譯的作用?

<4>注釋的作用?

<5>頭文件一般有什么東西?

<6>按鍵按下為什么要延時消抖?

              按鍵按下瞬間,按鍵從一個穩定狀態變化到另一個穩定狀態之間,有一個不穩定的過程,延時是為了越過不穩定狀態存在的時間,一般為10ms

<7>按鍵如何保持一次性?

              松手檢測:設置一個靜態標志位,用于松手檢測。

<8>知識領悟

寄存器是編程人員的編程接口,對于MCU而言,不管你如何封裝,一切配置,終究歸于寄存器配置;而操作寄存器的本質是對操作地址。


以上的Word格式文檔51黑下載地址:

2.STM32-GPIO.docx (1.5 MB, 下載次數: 15)



作者: peterliuh    時間: 2020-6-19 00:17
好東西,非常想要
作者: 小小涼冰樂    時間: 2020-6-19 15:53
peterliuh 發表于 2020-6-19 00:17
好東西,非常想要

哈哈哈,感覺寫的一般般,不敢當。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产99久久精品一区二区永久免费 | 国产精品91久久久久久 | 色婷婷一区二区三区四区 | 成人精品一区二区三区中文字幕 | 天天澡天天狠天天天做 | 国产成人精品一区二区三区 | 欧美日韩一区精品 | 欧美视频免费在线 | 手机av网| 久久久久国产视频 | 欧美精品一区二区在线观看 | 91免费观看 | 精品欧美一区二区三区久久久 | 国产中的精品av涩差av | 精品福利一区二区三区 | a级片在线观看 | 国产午夜精品久久 | av中文在线| 国产精品久久久久久久久久久久 | 亚洲日韩中文字幕一区 | 日韩成人在线一区 | 不卡在线视频 | 国产视频第一页 | 免费在线观看一区二区 | 日韩免费在线视频 | 在线播放亚洲 | 精品亚洲永久免费精品 | 国产精品久久久久久久久免费丝袜 | 亚洲第一免费播放区 | 黄色av网站在线免费观看 | 国产日韩精品视频 | 国产欧美精品一区二区三区 | 国产成人免费视频网站视频社区 | 性精品| 久久久久亚洲 | 成人精品一区二区户外勾搭野战 | 九色 在线 | 亚洲成年在线 | 国产97在线看 | 麻豆视频在线免费观看 | 日韩精品在线观看视频 |