📄 hello_led.c
字号:
#include <stdio.h>#include "system.h"#include "altera_avalon_pio_regs.h"//#inclede "altera_avalon_uart_regs.h"#include "alt_types.h"#include "altera_avalon_dma.h"#include "sys/alt_irq.h"void init_dma(void); //0x02121000 0x01000000static void dma_interrupts(void* context,alt_u32 id){ alt_u32 div; div=IORD(DMA_BASE,0X0); if((div&0x1)!=0) { div=0; } }void delay(void);int main (void){ //FILE *uart=NULL; unsigned int i; unsigned char *tr_data,*wr_data; tr_data=SDRAM_BASE; //SDRAM_BASE 0x01000000 wr_data=ONCHIP_RAM_64_KBYTES_BASE;//ONCHIP_RAM_64_KBYTES_BASE 0x02100000 for(i=0;i<1024;i++) *(wr_data+i)=i; //for(i=0;i<1024;i++) // *(tr_data+i)='e'; delay(); init_dma(); while(1) { /*i=IORD(DMA_BASE,0X0); if((i&0x1)!=0) { i=0; } */ } }void delay(void){ int i; for(i=0;i<1000;i++);}void init_dma(void){ alt_u32 context=0; IOWR(DMA_BASE,0X0,0X00); //STATUS IOWR(DMA_BASE,0X6,0x0);//control IOWR(DMA_BASE,0X1,ONCHIP_RAM_64_KBYTES_BASE);//读主控端开始地址 IOWR(DMA_BASE,0X2,(ONCHIP_RAM_64_KBYTES_BASE+1024));//写主控端开始地址 IOWR(DMA_BASE,0X3,1024); //0010011001 IOWR(DMA_BASE,0X6,0x099);//control alt_irq_register(DMA_IRQ,context,dma_interrupts); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -