码迷,mamicode.com
首页 > 其他好文 > 详细

xilinx-zynq教程2-MIO

时间:2019-02-13 10:52:21      阅读:454      评论:0      收藏:0      [点我收藏+]

标签:ioi   ati   alt   com   static   ble   新建工程   文件   _id   

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

此次是希望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 \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
// 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

标签:ioi   ati   alt   com   static   ble   新建工程   文件   _id   

原文地址:https://www.cnblogs.com/wojiaxiaoguo/p/10368488.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!