?? rgb.c
字號:
//============================================================================
// Include
//============================================================================
#include <stdio.h>
#include <cyg/io/lcd/fie702x_lcd.h>
#include "LCDSystem.h"
#include "FontSystem.h"
//============================================================================
// Definition
//============================================================================
#define DISPLAY_SIZE (320*240)
//============================================================================
// Global Variables
//============================================================================
cyg_io_handle_t lcd_handle=1;
int main (void)
{
int err;
int sel;
short *frame_base;
int i;
char buffer[255];
char *y_base, *u_base, *v_base;
err = cyg_io_lookup( "/dev/lcd", &lcd_handle );
if (ENOERR != err)
{
printf("Can't open '%s'\n", "/dev/lcd");
}
API_LCD_start(lcd_handle);
sel = API_LCD_get_InvalidFrame(lcd_handle);
while(1)
{
// test YUV...
printf("start test YUV 420 mode...\n");
API_LCD_set_YUV420Mode(lcd_handle);
y_base = API_LCD_get_Y_Base(lcd_handle, sel);
u_base = API_LCD_get_U_Base(lcd_handle, sel);
v_base = API_LCD_get_V_Base(lcd_handle, sel);
//memset(y_base, 235, DISPLAY_SIZE);
//memset(u_base, 128, DISPLAY_SIZE/2);
//memset(v_base, 128, DISPLAY_SIZE/2);
//printf("should see white screen, press enter to continue\n");
//gets(buffer);
memset(y_base, 162, DISPLAY_SIZE);
memset(u_base, 44, DISPLAY_SIZE/2);
memset(v_base, 142, DISPLAY_SIZE/2);
printf("should see yellow screen, press enter to continue\n");
gets(buffer);
memset(y_base, 112, DISPLAY_SIZE);
memset(u_base, 72, DISPLAY_SIZE/2);
memset(v_base, 58, DISPLAY_SIZE/2);
printf("should see green screen, press enter to continue\n");
gets(buffer);
memset(y_base, 65, DISPLAY_SIZE);
memset(u_base, 100, DISPLAY_SIZE/2);
memset(v_base, 212, DISPLAY_SIZE/2);
printf("should see red screen, press enter to continue\n");
gets(buffer);
memset(y_base, 35, DISPLAY_SIZE);
memset(u_base, 212, DISPLAY_SIZE/2);
memset(v_base, 114, DISPLAY_SIZE/2);
printf("should see blue screen, press enter to continue\n");
gets(buffer);
// test RGB...
#define RGB16(r,g,b) (((b >> 3) << 0) | ((g >> 2) << 5) | ((r >> 3) << 11))
printf("start test RGB mode...\n");
API_LCD_set_RGBMode(lcd_handle);
frame_base = (short *)API_LCD_get_Y_Base(lcd_handle, sel);
for (i = 0; i < DISPLAY_SIZE; i ++)
{
frame_base[i] = RGB16(0xFF, 0xFF, 0xFF);
}
printf("should see white screen, press enter to continue\n");
gets(buffer);
for (i = 0; i < DISPLAY_SIZE; i ++)
{
frame_base[i] = RGB16(0xFF, 0xFF, 0);
}
printf("should see yellow screen, press enter to continue\n");
gets(buffer);
for (i = 0; i < DISPLAY_SIZE; i ++)
{
frame_base[i] = RGB16(0, 0xFF, 0);
}
printf("should see green screen, press enter to continue\n");
gets(buffer);
for (i = 0; i < DISPLAY_SIZE; i ++)
{
frame_base[i] = RGB16(0xFF, 0, 0);
}
printf("should see red screen, press enter to continue\n");
gets(buffer);
for (i = 0; i < DISPLAY_SIZE; i ++)
{
frame_base[i] = RGB16(0, 0, 0xFF);
}
printf("should see blue screen, press enter to continue\n");
gets(buffer);
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -