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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2605|回復: 0
打印 上一主題 下一主題
收起左側

GPIO流水燈—基于Stm32CubeMX創建工程實現流水燈

[復制鏈接]
跳轉到指定樓層
樓主
ID:320660 發表于 2020-7-8 15:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

一、了解GPIO結構

二、GPIO的工作模式

GPIO有8種工作模式

1.輸入浮空

當GPIOx_ CRL 或GPIOx_CRH 寄存器的CNF[1:0]位設置為01,并且MODE[1:O]位設置為00時,對應引腳被設置為浮空輸入模式,該模式也是STM32復位之后默認模式。浮空輸入模式是相對與上拉或者下拉輸入模式,浮空就是不上拉也不下拉。浮空輸入模式下GPIO結構中信號流向見圖11-2。

I/O引腳信號接入到施密特觸發器的輸入端,在每來一個APB2時鐘脈沖就把輸入端的信號傳輸到觸發器的輸出端,施密特觸發器的輸出端又是與輸入數據寄存器(GPIOx_IDR)連通的,所以該數據就保存在輸入數據寄存器內,寄存器本身就是一個存儲單元(起到緩沖區效果),所以輸入數據寄存器保存著/0引腳電平。

2.輸入上拉模式

輸入上拉模式就是在浮空輸入模式基礎上使能輸入電路中的上拉開關,該開關由輸出數據寄存器(GPIOx_ODR)引腳對應位設置為1來使能。輸入上拉模式下GPIO結構中信號流向見圖11-3。

3.輸入下拉模式

輸入下拉模式也是在浮空輸入模式基礎.上使能了輸入電路中的下拉開關,該開關由輸出數據寄存器(GPIOx_ODR)引腳對應位設置為0來使能。輸入下拉模式下GPIO結構中信號流向見圖11-4。

4.模擬輸入模式

當STM32需要進行AD(模數)轉換時,需要把引腳設置為模擬輸入模式,該模式需要配合ADC外設使用,否則沒有意義。模擬輸入模式下GPIO結構中信號流向見圖11-5。

此時,GPIO 完全只是一個通路,最后信號流入到AD轉換電路中,更具體在AD轉換章節介紹。

5.開漏通用輸出模式

通用輸出模式就是做為普通用途的輸出模式,比如簡單地控制引腳輸出高低電平。GPIO的輸出是由一個PMOS管和一個NMOS管組合形成的反相器驅動。開漏電路概念中的“漏”是指MOS管的漏極(D),實際只是利用到NMOS管,PMOS管在開漏模式下是沒有用到的,開漏通用輸出模式下GPIO結構中信號流向見圖11-6。

目的:控制I/O引腳開漏輸出高電平。STM32實際流程: CPU把端口位設置/清除寄存器(GPIOx_ BSRR)引腳對應外設置為1,然后驅動端口輸出數據寄存器(GPIOx_ ODR)對應位為1,實際上也可以讓CPU直接GPIOx_ ODR 寄存器引腳對應位寫入1。GPIOx_ODR寄存器通過一個選擇電路(與復用功能輸出做選擇)后輸入到輸出控制電路,經過輸出控制電路后在NMOS控制線輸出低電平,這時NMOS管截止(PMOS管不被激活),引腳呈高阻狀態,不會有電流流動。

目的:控制I/0引腳開漏輸出低電平。STM32實際流程:CPU把端口位設置/清除寄存器(GPIOx_BSRR)或者端口位清除寄存器(GPIOx_BRR)引腳對應外設置為1,然后驅動輸出數據寄存器(GPIOx_ODR)對應位為0,實際上也可以讓CPU直接往GPIOx_ODR寄存器引腳對應位寫入0。GPIOx_ODR寄存器通過一個選擇電路(與復用功能輸出做選擇)后輸入到輸出控制電路,經過輸出控制電路后在NMOS控制線輸出高電平,這時NMOS管導通(PMOS管不被激活),引腳呈低電平狀態,允許有電流從引腳流入。另外,整個過程施密特觸發輸入是被激活的,出現在I/O腳上的數據在每個APB2時鐘被采樣到輸入數據寄存器,對輸入數據寄存器的讀訪問可得到I/O狀態。

6.推挽通用輸出模式

推挽輸出與開漏輸出原理理解都是差不多的,不同的重點在于輸出控制電路驅動反相器的不同,就是推挽輸出把PMOS管和NMOS管都用上了,開漏輸出只用了NMOS管,PMOS管完全不用。推挽通用輸出模式下GPIO結構中信號流向見圖11-7。

對于推挽輸出模式,CPU對端口位設置/清除寄存器、端口輸出數據寄存器操作都是與開漏輸出一樣的過程,只有在輸出控制電路對反相器的控制不同。需要控制I/O引腳推挽模式輸出1。此時數據輸出寄存器(GPIOx_ODR)輸出1,該信號輸入到輸出控制電路,之后輸出控制電路在PMOS控制線輸出低電平,此時PMOS管導通,同時在NMOS控制器輸出低電平,此時NMOS管截止,最終I/O引腳呈高電平狀態,如果構成回路可以有電流從引腳流出。

需要控制I/O引腳推挽模式輸出0。此時數據輸出寄存器(GPIOx_ODR)輸出0,該信號輸入到輸出控制電路,之后輸出控制電路在PMOS控制線輸出高電平,此時PMOS管截止,同時在NMOS控制器輸出高電平,此時NMOS管導通,最終I/O引腳呈低電平狀態,如果構成回路可以有電流從引腳流入。在推挽輸出模式下,也是可以在端口輸入數據寄存器讀取到當前I/O引腳狀態的。

7.推挽復用功能輸出模式

一個I/O引腳可以做為普通的IO接口,還可以做為其他外設的特殊功能引腳,有些引腳可能有4、5種不同功能,這種現象就叫做復用。引腳復用為特殊功能引腳,那引腳狀態就由該外設決定,在推挽復用功能輸出模式是引腳信號流向具體見圖11-8。

原理分析參考推挽輸出模式就好,此處不再啰嗦。

  • 開漏復用功能輸出模式

  • STM32CubeMX生成
  • 點擊File/New Project。

2.點開Core,選擇M3

3.點開Series,選擇STM32F1。

  • 以此類推,Line/STM32F1103

Package/LQFP144

5.雙擊選擇STMF103ZE

6.選擇RCC

  • 選擇LED燈引腳PB5、PE5,并分別設置為GPIO_Output模式。

8.點開System Core/GPIO,將引腳參數設置為下圖

9.時鐘樹設置

  • 命名工程,保存到對應路徑。

10.點開Code Generator,將Generated files 欄中的第一欄打鉤,點擊右上方的GENERATE CODE,完成工程創建。

11.打開keil軟件,按照路徑打開GPIO_LED工程,在main.c文件寫程序


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

文檔.doc (2.58 MB, 下載次數: 23)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产超碰人人爽人人做人人爱 | 九色在线观看 | 久久51| 精品一区二区三区免费毛片 | 91视频在线看 | 国产在线一区二区 | 特级黄一级播放 | 精品欧美一区二区三区精品久久 | 精品免费国产一区二区三区四区介绍 | 婷婷色国产偷v国产偷v小说 | 久久国产日本 | 久久久久久久一区 | 日本色高清 | 色久电影 | 91久久精品国产91久久 | 国产成人免费视频 | 精品久久久久久久久久久 | 成人免费一区二区三区视频网站 | 九七午夜剧场福利写真 | 99热播精品 | 精品国产三级 | 久久久www成人免费精品 | 欧美日韩福利视频 | 91免费版在线观看 | 国产欧美在线视频 | 成人a免费| 免费观看黄色一级片 | 一级黄色录像片子 | 欧美成人精品一区二区男人看 | 久久久久久99 | 欧美bondage紧缚视频 | 天天视频成人 | 亚洲日本免费 | 久久精品aaa | 一级特黄a大片 | 亚洲成人一区二区三区 | 一区二区三区四区在线 | 国产精品不卡视频 | 欧美日韩亚洲系列 | 国产精品国产精品国产专区不卡 | 日韩综合在线 |