国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

STM32F103ZET6-HAL-GPIO

2019-11-06 06:02:57
字體:
來源:轉載
供稿:網友

I.說明

作者:WXP(翱翔云端的鳥) 聯系方式:328452854@QQ.com || 13100610853(聯系請注明CSDN) 申明:個人原創,轉載請先經過本人同意!請勿商用! 要說的話:個人水平有限,寫之前也看過許多大神的博客,不足之處,還請指正!

II.環境

軟件環境:MDK5.22 STM32CUBEMX-4.18 硬件:STM32F103ZET6最小系統板 庫:HAL

III.GPIO功能描述

STM32F103的GPIO有8種工作模式,分別由7個寄存器控制,下表成列了標準庫和HAL庫,其中HAL庫的上拉下拉分離出來由單獨的庫函數設置,需要先設置為輸入,再去設置上下拉模式.

STD HAL輸入 模擬輸入 GPIO_Mode_AIN GPIO_MODE_ANALOG 浮空輸入 GPIO_Mode_IN_FLOATING GPIO_MODE_INPUT 上拉輸入 GPIO_Mode_ipU GPIO_PULLUP 下拉輸入 GPIO_Mode_IPD GPIO_PULLDOWN輸出 推挽輸出 GPIO_Mode_Out_PP GPIO_MODE_OUTPUT_PP 開漏輸出 GPIO_Mode_Out_OD GPIO_MODE_OUTPUT_OD 復用推挽 GPIO_Mode_AF_PP GPIO_MODE_AF_PP 復用開漏 GPIO_Mode_AF_OD GPIO_MODE_AF_OD

IV.GPIO寄存器描述

(1)GPIOx_CRL(x=A..E)–端口配置低寄存器 這里寫圖片描述

(2)GPIOx_CRH(x=A..E)–端口配置高寄存器 這里寫圖片描述

(3)GPIOx_IDR(x=A..E)–端口輸入數據寄存器 這里寫圖片描述

(4)GPIOx_ODR(x=A..E)–端口輸出數據寄存器 這里寫圖片描述

(5)GPIOx_BSRR(x=A..E)–端口位設置/清除寄存器 這里寫圖片描述

(6)GPIOx_BRR(x=A..E)–端口位清除寄存器 這里寫圖片描述

(7)GPIOx_LCKR(x=A..E)–端口配置鎖定寄存器(詳細見STM32參考手冊)

V.8種工作模式的區別

這里寫圖片描述

(1)浮空輸入:IO的電平完全由外部決定,如果懸空,IO的電平就是不確定的 (2)上拉輸入:帶上拉電阻輸入 (3)下拉輸入:帶下拉電阻輸入 (4)模擬輸入:ADC模擬輸入 (5)通用開漏輸出:類似集電極開路的集電極,不接上拉電阻只能輸出低電平,高電平需要上拉電阻 (6)通用推挽輸出:利用POMS和NMOS輸出高低電平,輸出1,PMOS導通,NMOS截止,VDD通過PMOS輸出高電平,低電平則反之,PMOS截止,NMOS導通,IO通過NMOS連接到GND(LED) (7)復用開漏輸出:片內外設功能時用到(TX1,MOSI,MISO,SCK,SS) (8)復用推挽輸出:片內外設功能時用到(SDA SCL)

關于8種工作模式,詳細部分可以參考 http://blog.csdn.net/guozhongwei1/article/details/52503469

VI.STM32CUBEMX生成工程

(1)打開STM32CUBEMX 這里寫圖片描述

(2)選擇對應的MCU型號封裝

這里寫圖片描述

(3)STM32F103ZET6最小系統原理圖中可以看到,LED燈對應的是PB5和PE5,低電平點亮LED,高電平熄滅LED 這里寫圖片描述

(4)選擇PB5 PE5為輸出,晶振選擇位外部8MHZ,仿真選擇4PinJTAG 這里寫圖片描述

(5)選擇系統時鐘為72MHZ

這里寫圖片描述

(6)配置IO的初始化電平、輸出模式、速率

這里寫圖片描述

(7)電源配置默認即可 這里寫圖片描述

(8)設置工程名和路徑已經編譯的IDE 這里寫圖片描述

(9)生成代碼并打開 這里寫圖片描述

這里寫圖片描述

(10)打開后如圖 所示

這里寫圖片描述

(11)編譯看有無過錯,然后添加流水燈操作 這里寫圖片描述

(12)Download然后觀察現象(注意設置Debugger選擇對應的仿真器) 這里寫圖片描述

可以看到兩個LED燈間隔500ms同時閃爍


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陕西省| 兴海县| 铁岭县| 凌海市| 大邑县| 华池县| 泾源县| 家居| 东方市| 长葛市| 日喀则市| 婺源县| 永仁县| 六盘水市| 清徐县| 略阳县| 郯城县| 五寨县| 体育| 东乌珠穆沁旗| 鄄城县| 富蕴县| 民丰县| 临潭县| 句容市| 措美县| 四子王旗| 前郭尔| 嘉荫县| 扬中市| 松原市| 当阳市| 明光市| 辉南县| 滨州市| 台南县| 怀集县| 靖远县| 广丰县| 合川市| 合水县|