xilinx c语言u16,Xilinx软核AXI Timer 和AXI INTC 的使用心得

本文档介绍了在Xilinx FPGA中使用C语言操作AXI Timer和AXI INTC中断控制器的步骤,包括GPIO初始化、中断连接和处理函数。示例代码展示了如何配置定时器和处理中断事件,但作者指出在不同时间间隔设置下,定时器表现不稳定,且存在卡死现象,可能与SDK的BUG和调试器模块有关。
摘要由CSDN通过智能技术生成

#include

#include "platform.h"

#include "xparameters.h"

#include "xgpio.h"

#include "xil_io.h"

#include "mb_interface.h"

#include "xtmrctr.h"

#include "xintc.h"

#define BTN_BASEADDR  XPAR_AXI_GPIO_2_BASEADDR

#define BTN_DEVICE_ID  XPAR_AXI_GPIO_2_DEVICE_ID

#define BTN_IRTP_ID

XPAR_AXI_INTC_0_AXI_GPIO_2_IP2INTC_IRPT_INTR

#define SW_BASEADDR  XPAR_AXI_GPIO_1_BASEADDR

#define SW_DEVICE_ID  XPAR_AXI_GPIO_1_DEVICE_ID

#define SW_IRTP_ID

XPAR_AXI_INTC_0_AXI_GPIO_1_IP2INTC_IRPT_INTR

#define TIMER_BASEADDR  XPAR_AXI_TIMER_0_BASEADDR

#define TIMER_DEVICE_ID  XPAR_AXI_TIMER_0_DEVICE_ID

#define TIMER_IRTP_ID

XPAR_AXI_INTC_0_AXI_TIMER_0_INTERRUPT_INTR

#define INTC_DEVICE_ID XPAR_AXI_INTC_0_DEVICE_ID

XGpio btn;

XGpio sw;

XTmrCtr timer;

XIntc intCtrl;

XGpio led;

char str[100];

void print(char *str);

void PushButtonHandle(void *pshButton);

void SwitchHandle(void *sw);

void TimerHandle(void *timer);

static int i = 0;

unsigned int flag = 0 ;

void test_pwm();

void delay(int t);

int main()

{

init_platform();

xil_printf("Hello World\n");

// test_pwm();

XGpio_Initialize(&btn,

BTN_DEVICE_ID);

XGpio_Initialize(&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值