SOPC程序代码.docVIP

  • 26
  • 0
  • 约1.32万字
  • 约 15页
  • 2018-02-24 发布于河南
  • 举报
SOPC程序代码

实验一: 流水灯范例 #include system.h #include altera_avalon_pio_regs.h //该文件位于c:\altera\72\ip\sopc_builder_ip\altera_avalon_pio\inc #include alt_types.h int main (void) __attribute__ ((weak, alias (alt_main))); int alt_main (void) { alt_u8 led = 0x2; alt_u8 dir = 0; volatile int i; while (1) { if (led 0x81) { dir = (dir ^ 0x1); } if (dir) { led = led 1; } else { led = led 1; } IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, led); i = 0; while (i200000) //若200000改为1000000则延迟时间为1s。 i++; } return 0; } Alt_types.h文件代码: typedef signed char alt_8; typedef unsigned char alt_u8; typedef signed short alt_16; typedef unsigned short alt_u16; typedef signed long alt_32; typedef unsigned long alt_u32; typedef long long alt_64; typedef unsigned long long alt_u64; altera_avalon_pio_regs.h文件代码 #define IOADDR_ALTERA_AVALON_PIO_DATA(base) __IO_CALC_ADDRESS_NATIVE(base, 0) #define IORD_ALTERA_AVALON_PIO_DATA(base) IORD(base, 0) #define IOWR_ALTERA_AVALON_PIO_DATA(base, data) IOWR(base, 0, data) #define IOADDR_ALTERA_AVALON_PIO_DIRECTION(base) __IO_CALC_ADDRESS_NATIVE(base, 1) #define IORD_ALTERA_AVALON_PIO_DIRECTION(base) IORD(base, 1) #define IOWR_ALTERA_AVALON_PIO_DIRECTION(base, data) IOWR(base, 1, data) #define IOADDR_ALTERA_AVALON_PIO_IRQ_MASK(base) __IO_CALC_ADDRESS_NATIVE(base, 2) #define IORD_ALTERA_AVALON_PIO_IRQ_MASK(base) IORD(base, 2) #define IOWR_ALTERA_AVALON_PIO_IRQ_MASK(base, data) IOWR(base, 2, data) #define IOADDR_ALTERA_AVALON_PIO_EDGE_CAP(base) __IO_CALC_ADDRESS_NATIVE(base, 3) #define IORD_ALTERA_AVALON_PIO_EDGE_CAP(base) IORD(base, 3) #define IOWR_ALTERA_AVALON_PIO_EDGE_CAP(base, data) IOWR(base, 3, data) 流水灯程序1 #include system.h #include altera_avalon_pio_regs.h #include alt_types.h int main (void) { alt_u8 led = 0x1; alt_u8 dir = 0; alt_u8 temp; volatile int i; w

文档评论(0)

1亿VIP精品文档

相关文档