• xilinx-zynq教程2-MIO


    zynq-MIO

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

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

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

    打开工程,打开原理图

    设置MIO输出

    然后打开设计

    输出文件

     

    生成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;

    }

    使用debug模式下载到板子中,看IO输出 

  • 相关阅读:
    6.4 总结(关于正确率)
    POI2013 Bytecomputer
    BZOJ1485 有趣的数列
    PAM
    BZOJ1787 meet
    BZOJ3895 rock
    URAL 1996 Cipher Message 3
    BZOJ1468 Tree
    Javascript初识之数据类型
    Javascript初识之流程控制、函数和内置对象
  • 原文地址:https://www.cnblogs.com/wojiaxiaoguo/p/10368488.html
Copyright © 2020-2023  润新知