|
一个关于 NIOS II processor 的问题
[复制链接]
- while (1)
- {
-
- mask=IORD_ALTERA_AVALON_PIO_DATA(PIO_BUTTON_BASE);
-
-
-
- switch (mask)
- {
- case 0x01: led=clBlu[i & 0x07];break;
- case 0x02: led=clRed[i & 0x07];break;
- case 0x04: led=clGre[i & 0x07];break;
- default : led=0x000000;
- }
-
- IOWR(PIO_LED_BASE,0,led);
-
- }
复制代码
一个用于DE3 board的测试程序,使用 SLIDE_SWITCH 的时候工作正常,但当把SLIDE_SWITCH换成 BUTTON 的时候,在板子上面就没反应了。
但如果直接使用
- mask=IORD_ALTERA_AVALON_PIO_DATA(PIO_BUTTON_BASE);
- IOWR(PIO_LED_BASE,0,mask);
复制代码
就没有问题
以下是 system.h 文件的相关部分
- #define PIO_BUTTON_NAME "/dev/pio_button"
- #define PIO_BUTTON_TYPE "altera_avalon_pio"
- #define PIO_BUTTON_BASE 0x00000040
- #define PIO_BUTTON_SPAN 16
- #define PIO_BUTTON_IRQ 3
- #define PIO_BUTTON_IRQ_INTERRUPT_CONTROLLER_ID 0
- #define PIO_BUTTON_DO_TEST_BENCH_WIRING 0
- #define PIO_BUTTON_DRIVEN_SIM_VALUE 0
- #define PIO_BUTTON_HAS_TRI 0
- #define PIO_BUTTON_HAS_OUT 0
- #define PIO_BUTTON_HAS_IN 1
- #define PIO_BUTTON_CAPTURE 1
- #define PIO_BUTTON_DATA_WIDTH 4
- #define PIO_BUTTON_RESET_VALUE 0
- #define PIO_BUTTON_EDGE_TYPE "RISING"
- #define PIO_BUTTON_IRQ_TYPE "EDGE"
- #define PIO_BUTTON_BIT_CLEARING_EDGE_REGISTER 0
- #define PIO_BUTTON_BIT_MODIFYING_OUTPUT_REGISTER 0
- #define PIO_BUTTON_FREQ 10000000
- #define ALT_MODULE_CLASS_pio_button altera_avalon_pio
- #define PIO_SLIDE_SWITCH_NAME "/dev/pio_slide_switch"
- #define PIO_SLIDE_SWITCH_TYPE "altera_avalon_pio"
- #define PIO_SLIDE_SWITCH_BASE 0x00000060
- #define PIO_SLIDE_SWITCH_SPAN 16
- #define PIO_SLIDE_SWITCH_DO_TEST_BENCH_WIRING 0
- #define PIO_SLIDE_SWITCH_DRIVEN_SIM_VALUE 0
- #define PIO_SLIDE_SWITCH_HAS_TRI 0
- #define PIO_SLIDE_SWITCH_HAS_OUT 0
- #define PIO_SLIDE_SWITCH_HAS_IN 1
- #define PIO_SLIDE_SWITCH_CAPTURE 0
- #define PIO_SLIDE_SWITCH_DATA_WIDTH 4
- #define PIO_SLIDE_SWITCH_RESET_VALUE 0
- #define PIO_SLIDE_SWITCH_EDGE_TYPE "NONE"
- #define PIO_SLIDE_SWITCH_IRQ_TYPE "NONE"
- #define PIO_SLIDE_SWITCH_BIT_CLEARING_EDGE_REGISTER 0
- #define PIO_SLIDE_SWITCH_BIT_MODIFYING_OUTPUT_REGISTER 0
- #define PIO_SLIDE_SWITCH_FREQ 10000000
- #define ALT_MODULE_CLASS_pio_slide_switch altera_avalon_pio
复制代码
初学者,还望各位大大指点 谢谢
|
|