打印
[matlab]

EDK学习总结---XGPIO3

[复制链接]
1733|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
星星之火红|  楼主 | 2012-10-18 21:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
xgpio, ip, TI, ck, AD
五个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++);
}

相关帖子

沙发
gaochy1126| | 2012-10-18 21:51 | 只看该作者
还没有研究到这一步呢,先看一看吧!

使用特权

评论回复
板凳
GoldSunMonkey| | 2012-10-20 14:00 | 只看该作者
还没有研究到这一步呢,先看一看吧!
gaochy1126 发表于 2012-10-18 21:51
还有你没有研究到的?

使用特权

评论回复
地板
wmsk| | 2012-10-20 20:04 | 只看该作者
:lol猴哥,讲讲

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

1782

帖子

22

粉丝