ZYNQ-702裸机之MIO使用

ZYNQ-702裸机之MIO使用

1.硬件环境搭建

ZYNQ-702裸机之MIO使用_第1张图片
- 将时钟从PS的FCLK_CLK0连接到PL的M_AXI_GP0_ACLK
- 双击ZYNQ,进行下图操作
ZYNQ-702裸机之MIO使用_第2张图片
-702的MIO10连接着 LED–DS23
然后进行,保存,create HDL wrapper,最后生成.bit文件
导出硬件,打开sdk
创建led_flash得空项目,创建c文件
代码如下

代码块

#include "xgpiops.h"
#include "sleep.h"
int main()
{
static XGpioPs psGpioInstancePtr;
XGpioPs_Config* GpioConfigPtr;
int iPinNumber= 10; //DS23 连接的是 MIO10
u32 uPinDirection = 0x1; //1 表示输出, 0 表示输入
int xStatus;
//--MIO 的初始化
GpioConfigPtr = XGpioPs_LookupConfig(XPAR_PS7_GPIO_0_DEVICE_ID);
//XPAR_PS7_GPIO_0_DEVICE_ID在XParameter.c文件中,表示了GPIO的id,以此来得到该设备
if(GpioConfigPtr == NULL)
return XST_FAILURE;
xStatus = XGpioPs_CfgInitialize(&psGpioInstancePtr,GpioConfigPtr,
GpioConfigPtr->BaseAddr);
if(XST_SUCCESS != xStatus)
print(" PS GPIO INIT FAILED \n\r");
//--MIO 的输入输出操作
XGpioPs_SetDirectionPin(&psGpioInstancePtr, iPinNumber,uPinDirection);// 配 置MIO 输出方向
XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, iPinNumber,1);//配置 MIO 的第 7位输出
while(1)
{
XGpioPs_WritePin(&psGpioInstancePtr, iPinNumber, 1);
//点亮 MIO 的第 7 位输出1
sleep(1);//延时
XGpioPs_WritePin(&psGpioInstancePtr, iPinNumber, 0);
//熄灭 MIO 的第 7 位输出0
sleep(1);//延时
}
return 
... c'''

最后运行程序
结果–“”DS23会隔一秒闪烁一次“”
对于各种函数,在包含文件中都有详细解释

你可能感兴趣的:(ZYNQ入门系列)