can使能上拉 gpio_IMX6ULL 的 GPIO 操作方法
來源:百問網
作者:韋東山
本文字數:1652,閱讀時長:4分鐘
- CCM: Clock Controller Module (時鐘控制模塊)
- IOMUXC : IOMUX Controller,IO 復用控制器
- GPIO: General-purpose input/output,通用的輸入輸出口
1、IMX6ULL 的 GPIO 模塊結構
參考資料:芯片手冊《Chapter 28: General Purpose Input/Output (GPIO)》
有 5 組 GPIO(GPIO1~GPIO5),每組引腳最多有 32 個,但是可能實際上并沒有那么多。
- GPIO1 有 32 個引腳:GPIO1_IO0~GPIO1_IO31;
- GPIO2 有 22 個引腳:GPIO2_IO0~GPIO2_IO21;
- GPIO3 有 29 個引腳:GPIO3_IO0~GPIO3_IO28;
- GPIO4 有 29 個引腳:GPIO4_IO0~GPIO4_IO28;
- GPIO5 有 12 個引腳:GPIO5_IO0~GPIO5_IO11;
GPIO 的控制涉及 4 大模塊:CCM、IOMUXC、GPIO 模塊本身,框圖如下:
2、CCM 用于設置是否向 GPIO 模塊提供時鐘
參考資料:芯片手冊《Chapter 18: Clock Controller Module (CCM)》
GPIOx 要用 CCM_CCGRy 寄存器中的 2 位來決定該組 GPIO 是否使能。哪組 GPIO 用哪個 CCM_CCGR 寄 存器來設置,請看上圖紅框部分。
CCM_CCGR 寄存器中某 2 位的取值含義如下:
① 00:該 GPIO 模塊全程被關閉
② 01:該 GPIO 模塊在 CPU run mode 情況下是使能的;在 WAIT 或 STOP 模式下,關閉
③ 10:保留
④ 11:該 GPIO 模塊全程使能
GPIO2 時鐘控制:
GPIO1、GPIO5 時鐘控制:
GPIO3 時鐘控制:
GPIO4 時鐘控制:
3、IOMUXC:引腳的模式(Mode、功能)
參考資料:芯片手冊《Chapter 32: IOMUX Controller (IOMUXC)》。
對于某個/某組引腳,IOMUXC 中有 2 個寄存器用來設置它:
① 選擇功能:
IOMUXC_SW_MUX_CTL_PAD_ :Mux pad xxx,選擇某個 pad 的功能
IOMUXC_SW_MUX_CTL_GRP_:Mux grp xxx,選擇某組引腳的功能
某個引腳,或是某組預設的引腳,都有 8 個可選的模式(alternate (ALT) MUX_MODE)。
比如:
② 設置上下拉電阻等參數:
IOMUXC_SW_PAD_CTL_PAD_:pad pad xxx,設置某個 pad 的參數
IOMUXC_SW_PAD_CTL_GRP_:pad grp xxx,設置某組引腳的參數
比如:
4、GPIO 模塊內部
我們暫時只需要關心 3 個寄存器:
① GPIOx_GDIR:設置引腳方向,每位對應一個引腳,1-output,0-input
② GPIOx_DR:設置輸出引腳的電平,每位對應一個引腳,1-高電平,0-低電平
怎么編程
5、讀 GPIO
翻譯一下:
① 設置 CCM_CCGRx 寄存器中某位使能對應的 GPIO 模塊 // 默認是使能的,上圖省略了
② 設置 IOMUX 來選擇引腳用于 GPIO
③ 設置 GPIOx_GDIR 中某位為 0,把該引腳設置為輸入功能
④ 讀 GPIOx_DR 或 GPIOx_PSR 得到某位的值(讀 GPIOx_DR 返回的是 GPIOx_PSR 的值)
6、寫 GPIO
翻譯一下:
① 設置 CCM_CCGRx 寄存器中某位使能對應的 GPIO 模塊 // 默認是使能的,上圖省略了
② 設置 IOMUX 來選擇引腳用于 GPIO
③ 設置 GPIOx_GDIR 中某位為 1,把該引腳設置為輸出功能
④ 寫 GPIOx_DR 某位的值
需要注意的是,你可以設置該引腳的 loopback 功能,這樣就可以從 GPIOx_PSR 中讀到引腳的有實 電平;你從 GPIOx_DR 中讀回的只是上次設置的值,它并不能反應引腳的真實電平,比如可能因為硬件 故障導致該引腳跟地短路了,你通過設置 GPIOx_DR 讓它輸出高電平并不會起效果。
「新品首發」STM32MP157開發板火爆預售!首批僅300套
點擊“了解更多”相關章節
總結
以上是生活随笔為你收集整理的can使能上拉 gpio_IMX6ULL 的 GPIO 操作方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本田将推新车:电动、三个轮
- 下一篇: iPhone 14或提高全系售价上热搜!