xilinx-zynq教程2-MIO

Posted wojiaxiaoguo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xilinx-zynq教程2-MIO相关的知识,希望对你有一定的参考价值。

本教程不是商业教程,只是自己学习时,希望记录下来,可以反复查看学习,以免忘记。

此次是希望IO输出高电平,点亮LED灯

工程还用之前上一节创建的工程,可以新建个文件夹,把工程拷贝过来。

打开工程,打开原理图

技术图片

设置MIO输出

技术图片

技术图片

技术图片

引脚约束,有两种方法,一种是新建xdc文件,自己写引脚约束的代码,另一种是图形界面

在此介绍图形界面,其实图形界面设定完后,就输出了有引脚约束代码的xdc文件

首先把工程综合一下

技术图片

然后打开设计

技术图片

 

输出文件

技术图片

 

 技术图片

生成bit文件

技术图片

导出硬件

技术图片

启动SDK

新建工程

技术图片

技术图片

技术图片

新建main.c文件

技术图片

技术图片

技术图片

这是代码


#include "xgpiops.h"
#include "sleep.h"

int main()
{

static XGpioPs psGpioInstancePtr;
XGpioPs_Config* GpioConfigPtr;

int iPinNumber = 7;
u32 uPinDirection = 0x1;
int xStatus;
// mio初始化
GpioConfigPtr = XGpioPs_LookupConfig(XPAR_PS7_GPIO_0_DEVICE_ID);
if(GpioConfigPtr == NULL)
return XST_FAILURE;

xStatus = XGpioPs_CfgInitialize(&psGpioInstancePtr,GpioConfigPtr,GpioConfigPtr->BaseAddr);

if(XST_SUCCESS != xStatus)
print(" PS GPIO INIT FAILED ");
//mio输入输出操作
XGpioPs_SetDirectionPin(&psGpioInstancePtr,iPinNumber,uPinDirection);//配置MIO输出方向
XGpioPs_SetOutputEnablePin(&psGpioInstancePtr,iPinNumber,1);//配置MIO的第7位输出

// while(1)
// {
// XGpioPs_WritePin(&psGpioInstancePtr,iPinNumber,1);//MIO第7位输出1
// usleep(500000);
// XGpioPs_WritePin(&psGpioInstancePtr,iPinNumber,0);//MIO第7位输出0
// usleep(500000);
// }
while(1)
{

// XGpioPs_WriteReg(InstancePtr->GpioConfig.BaseAddr,
// ((u32)(Bank) * XGPIOPS_REG_MASK_OFFSET) +
// XGPIOPS_OUTEN_OFFSET, OpEnable);
XGpioPs_WriteReg(0xE000A000,0x00000000, 0xFF7FFFFF&0xFFFF0080);
usleep(500000);
XGpioPs_WriteReg(0xE000A000,0x00000000, 0xFF7FFFFF&0xFFFF0000);
usleep(500000);
}


return 0;

}

 

 































以上是关于xilinx-zynq教程2-MIO的主要内容,如果未能解决你的问题,请参考以下文章

Xilinx-ZYNQ ucos-iii的移植与开发-00-开始

JasperReports教程_编程入门自学教程_菜鸟教程-免费教程分享

社交媒体营销教程_编程入门自学教程_菜鸟教程-免费教程分享

Perl教程_编程入门自学教程_菜鸟教程-免费教程分享

Twitter营销教程_编程入门自学教程_菜鸟教程-免费教程分享

Java并发教程_编程入门自学教程_菜鸟教程-免费教程分享