我的跳变中断还可以用的
你如果要时钟和pio口的跳变中断的话我可以发给你.但是我的pio口的leve中断就是不行啊
能不能 帮我看一下
下面是我写的代码:
#include "stdio.h"
#include "altera_avalon_pio_regs.h"
#include "sys/alt_irq.h"
#include "system.h"
#include "alt_types.h"
volatile int temp;
volatile int data;
void handle_buttom_interrupt(void)
{
data=IORD_ALTERA_AVALON_PIO_EDGE_CAP(BUTTOM_4_BASE);
//IOWR_ALTERA_AVALON_PIO_EDGE_CAP(LED_BASE,data);
printf("LAST_TEMP=%d\n",temp);
if(temp!=data)
{
temp=data;
printf("NOW_TEMP= %d\n",temp);
}
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTOM_4_BASE,0X00);
//IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTOM_4_BASE,0X00);
//IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTOM_4_BASE,0XFF);
}
int main(void)
{
//volatile int k;
printf("WAITING......\n");
alt_irq_register(2,0,(void *)handle_buttom_interrupt);
printf("WAITING......\n");
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTOM_4_BASE,0XFF);
while (1);
}
1 .为什么不能检测到\电平的跳变?
2.在printf()函数中的" "中的内容长点的话为什么不能全部显示出来
如下面的:
printf("dfjsdfjdsklhgkdfkmciydfhiceriufcrejcfrurecfuerkufcerux9erkwuf\n");
显示的时候却出现了
dfjsdfjdsklhgkdfkmciydfhiceriufc
然后就出现了程序不运行了.
但是将""中的内容减小,程序就运行正常了(在边沿出发的情况下面,电平情况见上面的程序,不能正常运行) 在buttom_4的属性中我已经将它改成了电平格式. |