实验平台:黑金AXU3EG
实验现象:PS端LED灯闪烁
代码:
#include "xparameters.h" //器件参数信息
#include "xgpiops.h" //包含PS GPIO的函数声明
#include "xstatus.h" //包含XST_FAILURE和XST_SUCCESS的宏定义
#include "xplatform_info.h"
#include <xil_printf.h> //包含print()函数
#include "sleep.h" //sleep()函数
#define GPIO_DEVICE_ID XPAR_XGPIOPS_0_DEVICE_ID //定义器件ID号
#define PS_LED1 40 //PS端LED宏定义
XGpioPs PS_Gpio; //GPIO设备的驱动程序实例
int main(void)
{
int Status;
//设备配置信息结构体指针
XGpioPs_Config *ConfigPtr;
print("MIO test \r\n");
//查询设备器件ID号
ConfigPtr = XGpioPs_LookupConfig(GPIO_DEVICE_ID);
//XGpioPs_CfgInitialize 为PS端GPIO初始化函数 返回值为XST_FAILURE 和 XST_SUCCESS
Status = XGpioPs_CfgInitialize(&PS_Gpio, ConfigPtr,
ConfigPtr->BaseAddr);
if(Status != XST_SUCCESS)
{
return XST_FAILURE;
}
//设置指定引脚的方向
XGpioPs_SetDirectionPin(&PS_Gpio, PS_LED1, 1);
//设置指定引脚的输出使能
XGpioPs_SetOutputEnablePin(&PS_Gpio, PS_LED1, 1);
while(1)
{
//向GPIO写入数据
XGpioPs_WritePin(&PS_Gpio, PS_LED1, 1);
//延时一秒
sleep(1);
XGpioPs_WritePin(&PS_Gpio, PS_LED1, 0);
sleep(1);
}
//返回值为XGpioPs 实例/驱动程序初始化状态值
return XST_SUCCESS;
}