首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

EDK学习总结---XGPIO3

EDK学习总结---XGPIO3

五个GPIO的例子研究NO1#include "xparameters.h"#include "xgpio.h"#include "xgpio_l.h"#include "xutil.h"int main (void){   XGpio dip, push;       int i, psb_check, dip_check;       XGpio LEDs8_Bit;printf("-- Start of the Program --\r\n");XGpio_Initialize(&dip, XPAR_DIP_DEVICE_ID);
// device ID号的定义规则       XGpio_SetDataDirection(&dip, 1, 0xffffffff);          //
必须注明通道号,否则出错       XGpio_Initialize(&push, XPAR_PUSH_DEVICE_ID);         XGpio_SetDataDirection(&push, 1, 0xffffffff);       XGpio_Initialize(&LEDs8_Bit, XPAR_LEDS_8BIT_DEVICE_ID);       XGpio_SetDataDirection(&LEDs8_Bit, 1, 0x0);
       while (1)       {       psb_check = XGpio_DiscreteRead(&push, 1);       xil_printf("Push Buttons Status %x\r\n", psb_check);   //
/n会使超级终端斜着显示       dip_check = XGpio_DiscreteRead(&dip, 1);       xil_printf("DIP Switch Status %x\r\n", dip_check);     //
/r/n
会使正常往下显示       XGpio_DiscreteWrite(&LEDs8_Bit, 1, dip_check);          for (i=0; i<999999; i++);       }}NO2#define GPIO_INPUT_SWITCH1     0xffffffff      #define GPIO_OUTPUT_LED_FAULT 0x00010000  #define GPIO_OUTPUT_LED_POWER 0x00020000#include "xbasic_types.h"#include "xstatus.h"#include "xparameters.h"#include "xgpio.h"  #include "xgpio_l.h"#include "xutil.h"int main (void){   Xuint32 Data;   XStatus Status;XGpio dip, push;int i, psb_check, dip_check;       XGpio LEDs8_Bit;printf("-- Start of the Program --\r\n");       XGpio_Initialize(&push, XPAR_PUSH_DEVICE_ID);       XGpio_SetDataDirection(&push, 1, 0xffffffff);       XGpio_Initialize(&LEDs8_Bit, XPAR_LEDS_8BIT_DEVICE_ID);       XGpio_SetDataDirection(&LEDs8_Bit, 1, 0x0);
       Status = XGpio_Initialize(&dip, XPAR_DIP_DEVICE_ID);    if (Status != XST_SUCCESS)    //    XStatus Status为嵌入式中状态的定义关键字    {        printf("000\n");    }    else       {        printf("111\n");    }XGpio_SetDataDirection(&dip,1,GPIO_INPUT_SWITCH1);XGpio_DiscreteSet     (&dip,1,GPIO_OUTPUT_LED_POWER);XGpio_DiscreteClear   (&dip,1,GPIO_OUTPUT_LED_FAULT);
while (1){      Data = XGpio_DiscreteRead(&dip,1);   //检测按键是否被按下      xil_printf("Data=%x\r\n",Data);      if (Data & GPIO_INPUT_SWITCH1) { xil_printf("111\r\n"); } //有按下
      else { xil_printf("222\r\n");} // /r/n                         //没按下       for (i=0; i<9999999; i++);}转载自:kenzol的博客
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表