板子:ZedBoard
#include "xgpiops.h"
#include "sleep.h"
int main()
{
static XGpioPs psGpioInstancePtr;//GPIO参数
XGpioPs_Config* GpioConfigPtr;//GPIO的设备地址和基地址
int iPinNumber= 9; //LD9连接的是MIO7,操作的端口
u32 uPinDirection = 0x1; //1表示输出,0表示输入
int xStatus;
//--MIO的初始化
GpioConfigPtr = XGpioPs_LookupConfig(XPAR_PS7_GPIO_0_DEVICE_ID);//查找GPIO的配置
if(GpioConfigPtr == NULL)
return XST_FAILURE;
xStatus = XGpioPs_CfgInitialize(&psGpioInstancePtr,GpioConfigPtr,GpioConfigPtr->BaseAddr);//完成GPIO配置初始化
if(XST_SUCCESS != xStatus)
print(" PS GPIO INIT FAILED \n\r");
//--MIO的输入输出操作
XGpioPs_SetDirectionPin(&psGpioInstancePtr, iPinNumber,uPinDirection);//配置MIO输出方向
//首先它有一个读取bank 号的子程序,然后读取需要写入的寄存器地址,接下来对pinbumer 这一位单独做一些操作,最后把方向寄存器的值写入到读出的那个寄存器当中
XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, iPinNumber,1);//配置MIO的第7位输出
while(1)
{
XGpioPs_