📄 5030102ea693001d12cdeb81c1505ea9
字号:
/**************************************************************
程序说明 :好声波处理实验
类 型 :Nios II
说 明 :
检测超声波输入的数据,触发中断,点亮相应的LED。
**************************************************************/
#include <stdio.h>
#include <io.h>
#include <system.h>
#include <stdio.h>
/*********************************************
函数名:button_irq
功 能:button中断处理函数
输 入:context:相关内容指针,中断号
返 回:
备 注:
读取相应BUTTON数据,点亮相应LED
**********************************************/
void button_irq(void *context,alt_u32 interrupt)
{
int iRet;
unsigned int data;
unsigned int seg;
int flag_chaosb;
/* 开放4BIT BUTTON的中断屏蔽 */
//IOWR(CHAOSB_IRQ_PIO_BASE,0x02,0x0f);
/* 读取边沿捕获寄存器值 */
data=IORD(CHAOSB_IRQ_PIO_BASE,0x03);
// IOWR(CHAOSB_IRQ_PIO_BASE,0x03,0x00);
if(data!=1)
{
switch (data)
{
case 8: printf("前方有人,注意慢行!");//aic23_play(3002); break;
case 2: printf("1米有障碍!"); aic23_play(3016); break;
case 3: printf("1.5米有障碍!"); aic23_play(3017); break;
case 4: printf("2米有障碍!"); aic23_play(3018); break;
case 5: printf("2.5米有障碍!"); // aic23_play(3019);
break;
case 6: printf("3米有障碍!"); aic23_play(3020); break;
case 7: printf("3.5米有障碍!"); aic23_play(3021); break;
default: printf("3米有障碍!"); // aic23_play(3002); break;
}
}
else
{
printf("没有障碍物");
}
/* 点亮相应的LED */
IOWR(LED_PIO_BASE,0x00,data);
IOWR(SERIAL_SEGMENT_0_BASE, 0x03,data);
IOWR(CHAOSB_IRQ_PIO_BASE,0x03,0x00);
// return flag_chaosb;
}
int holdback()
{
unsigned int data;
unsigned int data1;
int button_irq();
int i;
printf("超声波检测试验!\n");
/* 数码管清0 */
IOWR(SERIAL_SEGMENT_0_BASE, 0x00,0);
IOWR(SERIAL_SEGMENT_0_BASE, 0x01,0);
IOWR(SERIAL_SEGMENT_0_BASE, 0x02,0);
IOWR(SERIAL_SEGMENT_0_BASE, 0x03,0);
/* 开放4BIT BUTTON的中断屏蔽 */
IOWR(CHAOSB_IRQ_PIO_BASE,0x02,0x0f);
/* 清除边沿捕获寄存器 */
IOWR(CHAOSB_IRQ_PIO_BASE,0x03,0x00);
/* 注册中断处理函数 */
// if (alt_irq_register(CHAOSB_IRQ_PIO_IRQ, NULL,button_irq))
/* {
printf("alt_irq_register error\n");
return -1;
}*/
if (alt_irq_register(CHAOSB_IRQ_PIO_IRQ, NULL,NULL))
{
button_irq();
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -