本文主要是介绍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-7000中SDK针对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编号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!