#include <stdio.h>
#include "platform.h"
#include "xil_types.h"
#include "xgpio.h"
#include "xparameters.h"
#include "xgpiops.h"
#include "xil_io.h"
#include "oled.h"
//extern char inbyte(void);//调用inbyte接收一个字节输入函数
extern XGpioPs_Config XGpioPs_ConfigTable[XPAR_XGPIOPS_NUM_INSTANCES];
//int
main()
{
static XGpioPs psGpioInstancePtr;
XGpioPs_Config*GpioConfigPtr;
static XGpio GPIOInstance_Ptr; int xStatus,start,end;
u32 Readstatus1,Readstatus2;
int iPinNumberld9 = 7; /*Ld9 is connected to MIO pin 7*/
int iPinNumberbtn8 = 50;/*Btn8 is connected to MIO pin 50*/
int iPinNumberbtn9 = 51;/*Btn9 is connected to MIO pin 51*/
int iPinNumberBTNU = 54;/*BTNU is connected to EMIO pin 54*/
init_platform();
print("##### Application Starts #####\n\r"); print("\r\n"); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //Step-1 :AXI GPIO Initialization //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define XPAR_AXI_GPIO_0_DEVICE_ID 0//由于没有报错的错误,自己加入的define
xStatus = XGpio_Initialize(&GPIOInstance_Ptr,XPAR_AXI_GPIO_0_DEVICE_ID); if(XST_SUCCESS != xStatus) print("GPIO INIT FAILED\n\r"); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //Step-2 :AXI GPIO Set the Direction //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ XGpio_SetDataDirection(&GPIOInstance_Ptr, 1, 1);//input //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //Step-3 :PS GPIO Intialization //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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"); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //Step-4 :PS GPIO pin setting to Output //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ XGpioPs_SetDirectionPin(&psGpioInstancePtr, iPinNumberld9,1); XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, iPinNumberld9,1); XGpioPs_SetDirectionPin(&psGpioInstancePtr, iPinNumberbtn8,0); XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, iPinNumberbtn8,1); XGpioPs_SetDirectionPin(&psGpioInstancePtr, iPinNumberbtn9,0); XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, iPinNumberbtn9,1); XGpioPs_SetDirectionPin(&psGpioInstancePtr, iPinNumberBTNU,0); XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, iPinNumberBTNU,1); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //Step-5 :OLED Intialization //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ OLED_Init(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //Step-6 :press btn8 to start Demo //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ OLED_ShowString(0,0, "BTN8 to start"); OLED_Refresh_Gram(); while (1){ start=XGpioPs_ReadPin(&psGpioInstancePtr, iPinNumberbtn8); if(start){ XGpioPs_WritePin(&psGpioInstancePtr,iPinNumberld9,1); print("###################### Demo Starts ########################\r\n"); OLED_ShowString(0,0, "DALE I LOVE U"); OLED_ShowString(0,16, "BTNR to go on"); OLED_Refresh_Gram(); break; } end=XGpioPs_ReadPin(&psGpioInstancePtr, iPinNumberbtn9); if(end){ XGpioPs_WritePin(&psGpioInstancePtr,iPinNumberld9,0); OLED_Clear(); break; } } while(1){ Readstatus1 = XGpio_DiscreteRead(&GPIOInstance_Ptr, 1) ;//读BTNR if(Readstatus1){ OLED_ShowString(0,0, "DO U LOVE ME ? "); OLED_ShowString(0,16, "BTNU to go on"); OLED_Refresh_Gram(); break; } } while(1){ Readstatus2 = XGpioPs_ReadPin(&psGpioInstancePtr, iPinNumberBTNU) ;//读BTNU if(Readstatus2){ OLED_Clear(); OLED_ShowString(0,0, "HAHA BYE"); OLED_ShowString(0,16, "BTN9 to end"); OLED_Refresh_Gram(); } end=XGpioPs_ReadPin(&psGpioInstancePtr, iPinNumberbtn9); if(end){ XGpioPs_WritePin(&psGpioInstancePtr,iPinNumberld9,0); OLED_Clear(); break; } } print("\r\n"); print("***********\r\n"); print("BYE \r\n"); print("***********\r\n"); cleanup_platform(); return 0; }

最新文章

  1. 买错的电影票,含着泪也得看-LAMP搭建&amp;Linux基础
  2. 【Java基础】分支结构(1)
  3. 安装 LuaSocket
  4. poj1190生日蛋糕
  5. CentOS下通过locale来设置字符集
  6. 查看文章 mysql:表注释和字段注释[转]
  7. hold
  8. SQL - 添加外键
  9. Swift--集合类型 数组 字典 集合
  10. c指针点滴4-指针的值
  11. 移动web前端的一些硬技能(一)关于移动设备
  12. Vmware 中安装 Ubuntu Server (或者ubuntu 以文本界面登陆时) 分辨率无法全屏问题
  13. java基础知识4--数组的常用方法(Array)
  14. Opencv怎么读入,显示,保存图像-OpenCV步步精深
  15. Cassanfra、Hbase和MongoDB的选取
  16. .NET Orm 性能测试
  17. eclipse中查看字节码
  18. 给echart初始化的dom节点绑定时间获取点击的值渲染省市区
  19. asp.net ajax控件选项卡控件的选项卡的动态显示与隐藏问题
  20. Andrew Ng-ML-第十八章-大规模机器学习

热门文章

  1. iOS使用Reveal分析他人app界面
  2. spring cloud 学习资源
  3. 【bzoj2901】矩阵求和 前缀和
  4. 怎么创建SpringBoot项目
  5. BZOJ 1009 [HNOI2008]GT考试 ——矩阵乘法 KMP
  6. [BZOJ2733] [HNOI2012]永无乡(并查集 + 线段树合并)
  7. [暑假集训--数位dp]hdu2089 不要62
  8. hdu 5040 Instrusive【BFS+优先队列】
  9. 学习linux之 rwx对于目录和档案的意义(节选自鸟哥)
  10. Mongodb报错:ERROR: child process failed, exited with error number 1