下面是我写的代码:
#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",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的属性中我已经将它改成了电平格式.
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |