Zynq-7000、FMQL45T900的GPIO控制(一)-----SDK配置GPIO普通输入输出模式,以及GPIO编号

本文主要是介绍Zynq-7000、FMQL45T900的GPIO控制(一)-----SDK配置GPIO普通输入输出模式,以及GPIO编号,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Zynq-7000系列GPIO排布如下图所示,著名手册ug585第14章,第一个图,这图很清晰的表明,一共54个MIO,64个EMIO,所有这些IO共分为4个bank,其中

Bank0 32bit  —>> MIO[0:31]

Bank1 22bit  —>> MIO[32:53]

Bank2 32bit  —>> EMIO[0:31]

Bank3 32bit  —>> EMIO[32:63]

看懂这个很重要。后面的驱动都是根据这个来设计的。

使用SDK控制GPIO

主要函数说明

初始化GPIO驱动

	/* Initialize the GPIO driver. */ConfigPtr = XGpioPs_LookupConfig(GPIO_DEVICE_ID);Status = XGpioPs_CfgInitialize(&Gpio, ConfigPtr,ConfigPtr->BaseAddr);if (Status != XST_SUCCESS) {return XST_FAILURE;}

设置MIO/EMIO管脚输出,其中Output_Pin即为需要设置的MIO/EMIO编号,取值为0~117

0 - 31,  Bank 0

32 - 53, Bank 1

 54 - 85, Bank 2

 86 - 117, Bank 3

/** Set the direction for the pin to be output and* Enable the Output enable for the LED Pin.*/XGpioPs_SetDirectionPin(&Gpio, Output_Pin, 1);XGpioPs_SetOutputEnablePin(&Gpio, Output_Pin, 1);/* Set the GPIO output to be low. */XGpioPs_WritePin(&Gpio, Output_Pin, 0x0);

设置MIO/EMIO管脚输出,其中Input_Pin即为需要设置的MIO/EMIO编号,取值为0~117

0 - 31,  Bank 0

32 - 53, Bank 1

54 - 85, Bank 2

86 - 117, Bank 3

/* Set the direction for the specified pin to be input. */XGpioPs_SetDirectionPin(&Gpio, Input_Pin, 0x0);/* Read the state of the data so that it can be  verified. */*DataRead = XGpioPs_ReadPin(&Gpio, Input_Pin);

Zynq-7000SDK针对MIO/EMIO的操作过程和操作函数是完全相同,只是PIN_NUM的不同,如下图所示,再xgpios.h文件中有清晰的管脚定义,其中定义的内容也是和本文开头所述的内容一样。XGPIOPS_DEVICE_MAX_PIN_NUM为最大pin的最大数量

 下个章节记录一下,使用SDK中使用EMIO/MIO作为外部输入中断的例程

用这几篇帖子深入探讨一下ZYNQ-7000/FMQL45T900的GPIO相关设计,都说GPIO最简单,这样记录下来起始还是很费劲的。可以根根据需求,直接跳转到相关的内容

Zynq-7000、FMQL45T900的GPIO控制(一)-----SDK配置GPIO普通输入输出模式,以及GPIO编号_大牛攻城狮的博客-CSDN博客

Zynq-7000、FMQL45T900的GPIO控制(二)-----SDK配置GPIO外部中断输入_大牛攻城狮的博客-CSDN博客

Zynq-7000、FMQL45T900的GPIO控制(三)---linux管脚编号计算_大牛攻城狮的博客-CSDN博客

Zynq-7000、FMQL45T900的GPIO控制(四)---linux应用层配置GPIO输入控制_大牛攻城狮的博客-CSDN博客

Zynq-7000、FMQL45T900的GPIO控制(五)---linux应用层配置GPIO输出控制_大牛攻城狮的博客-CSDN博客

Zynq-7000、FMQL45T900的GPIO控制(六)---linux驱动层配置GPIO输入输出控制_大牛攻城狮的博客-CSDN博客

(1条消息) Zynq-7000、FMQL45T900的GPIO控制(七)---linux驱动层配置GPIO中断输入_大牛攻城狮的博客-CSDN博客

这篇关于Zynq-7000、FMQL45T900的GPIO控制(一)-----SDK配置GPIO普通输入输出模式,以及GPIO编号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/460120

相关文章

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Spring中配置ContextLoaderListener方式

《Spring中配置ContextLoaderListener方式》:本文主要介绍Spring中配置ContextLoaderListener方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录Spring中配置ContextLoaderLishttp://www.chinasem.cntene

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放