?? vga_control.c
字號:
/**************************************************************
程序說明 :VGA顯示控制器測試
類 型 :Nios II
作 者 :
公 司 :杭州自由電子科技
:http://www.freefpga.com
電 話 :0571-85084089
修 改 :
日期時間 :20070919
說 明 :
VGA顯示控制器讀取顯示內存數據顯示,軟件可以指定顯示內存地址
**************************************************************/
#include <stdio.h>
#include <io.h>
#include <system.h>
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
typedef struct _line{
unsigned int pixel[640];
}LINE;
int main()
{
unsigned int reg;
unsigned int i,j;
unsigned char *vga_buf,*s;
alt_u8 led = 0x2;
alt_u8 dir = 0;
s=(unsigned char *)(CFI_FLASH_BASE + 0x01000036);
vga_buf =(unsigned char *) SDRAM_BASE + 0x01000000;
printf("VGA顯示控制器設備實驗!\n");
j=0;
for(i=0;i<640*480*4;i=i+4)
{
vga_buf[i]=s[j];
vga_buf[i+1]=s[j+1];
vga_buf[i+2]=s[j+2];
vga_buf[i+3]=0x00;
j=j+3;
}
// 設置顯示內存地址
IOWR(FREEDEV_VGA_INST_BASE,0x04,vga_buf);
// 清 FIFO
IOWR(FREEDEV_VGA_INST_BASE,0x01,0x01);
IOWR(FREEDEV_VGA_INST_BASE,0x01,0x00);
IOWR(FREEDEV_VGA_INST_BASE,0x01,0x04);
while (1)
{
if (led & 0x09)
{
dir = (dir ^ 0x1);
}
if (dir)
{
led = led >> 1;
}else{
led = led << 1;
}
IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, led);
i = 0;
while (i<200000)
i++;
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -