i.MX6ULL使用寄存器配置GPIO


使用寄存器配置的幾個步驟:

0)確定引腳
1)開啟GPIO時鍾
2)設置引腳復用功能以及屬性
3)設置引腳方向以及輸出電平。

一 確定引腳
有的引腳的命名不一定是GPIOX_IOX這樣的,他可能默認不是GPIO外設。以野火的pro板子為例。

 

 

 怎么確定CSI_HSYNC呢?有兩種方法:
1《i.MX 6UltraLite Applications Processor Reference Manual》中搜索 CSI_HSYNC ,它會出現在第 4 章 External Signals and Pin Multiplexing 

 

 

 2 找到官方的fsl_iomuxc.h (SDK 文 件夾/devices/MCIMX6Y2/drivers/fsl_iomuxc.h),然后搜索CSI_HSYNC,很容易就知道是GPIO4_IO20.

 

 

 這樣查下來,野火的imx6ullpro板子,引腳如下:

 

 

 1)gpio時鍾

跟 GPIO 相關的時鍾主要有 CCM_CCGR(0~3) 寄存器。查看數據手冊可以知道 GPIO 第 26-27 兩位控制引腳時鍾。下圖為CCM_CCGR1

 

 

 

 2)復用功能以及屬性設置

找到IOMUXC_SW_MUX_CTL_PAD_xxx和IOMUXC_SW_PAD_CTL_PAD_xxx,在這

 

 

*IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO04 0x020E006C
*IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO04 0x020E02F8

*IOMUXC_SW_MUX_CTL_PAD_CSI_HSYNC 0x020E01E0
*IOMUXC_SW_PAD_CTL_PAD_CSI_HSYNC 0x020E046C

*IOMUXC_SW_MUX_CTL_PAD_CSI_VSYNC 0x020E01DC
*IOMUXC_SW_PAD_CTL_PAD_CSI_VSYNC 0x020E0468

3)設置引腳方向以及輸出電平
找到對應GPIO的GD和GDTR寄存器

*GPIO1_GD 0x0209C000
*GPIO1_GDIR 0x0209C004

*GPIO4_GD 0x020A8000
*GPIO4_GDIR 0x020A8004

*GPIO4_GD 0x020A8000
*GPIO4_GDIR 0x020A8004

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM