void gfx_ili9341_init(void) { /* initialize globals */ gfx_width = ILI9341_DEFAULT_WIDTH; gfx_height = ILI9341_DEFAULT_HEIGHT; ili9341_init(); ili9341_backlight_on(); /* Set clipping area to whole screen initially */ gfx_set_clipping(0, 0, gfx_width, gfx_height); gfx_draw_filled_rect(0, 0, gfx_width, gfx_height, GFX_COLOR_BLACK); }
/** * \brief Main application */ int main(void) { uint16_t x, y; uint8_t color_index; board_init(); sysclk_init(); /* Make sure to initialize the display controller */ ili9341_init(); /* Turn on the back light */ ili9341_backlight_on(); ili9341_set_top_left_limit(0, 0); ili9341_set_bottom_right_limit(ILI9341_DEFAULT_WIDTH, ILI9341_DEFAULT_HEIGHT); /* Draw colors to the screen, filling it */ for (color_index = 0; color_index < COLOR_TABLE_SIZE; color_index++) { ili9341_set_top_left_limit(0, 0); ili9341_set_bottom_right_limit(ILI9341_DEFAULT_WIDTH, ILI9341_DEFAULT_HEIGHT); ili9341_duplicate_pixel(color_table[color_index], TOTAL_PIXELS); } /* Draw bands of colors to the screen, showing all colors at once */ for (uint8_t step = 1; step < 10; step++) { for (y = 0; y < ILI9341_DEFAULT_HEIGHT / step; y++) { ili9341_set_top_left_limit(0, y * step); ili9341_duplicate_pixel( color_table[y % COLOR_TABLE_SIZE], (uint32_t)ILI9341_DEFAULT_WIDTH * step); } } /* Clear display to black */ ili9341_set_top_left_limit(0, 0); ili9341_set_bottom_right_limit(ILI9341_DEFAULT_WIDTH, ILI9341_DEFAULT_HEIGHT); ili9341_duplicate_pixel(BG_COLOR, TOTAL_PIXELS); while (true) { /* Load the bitmap with a new color */ for (bitmap_ptr = 0; bitmap_ptr < 1600; bitmap_ptr++) { bitmap[bitmap_ptr] = color_table[color_index % COLOR_TABLE_SIZE]; } color_index++; for (x = 0; x < ILI9341_DEFAULT_WIDTH; x = x + 40) { for (y = 0; y < ILI9341_DEFAULT_HEIGHT; y = y + 5) { /* Clear the last drawn area */ ili9341_set_top_left_limit(x, y - 5); ili9341_set_bottom_right_limit(x + 40, y + 5); ili9341_duplicate_pixel(BG_COLOR, 40UL * 10UL); /* Draw the moved pixmap */ ili9341_set_top_left_limit(x, y); ili9341_set_bottom_right_limit(x + 40, y + 40); ili9341_copy_pixels_to_screen(bitmap, 40UL * 40UL); } } } }
int main(void) { stdout = & mydata; ili9341_init();//initial driver setup to drive ili9341 ili9341_clear(BLACK);//fill screen with black colour _delay_ms(1000); ili9341_setRotation(3);//rotate screen _delay_ms(2); display_init();//display initial data while(1) { ili9341_settextcolour(CYAN,BLACK); ili9341_setcursor(vsetx,vsety); _delay_ms(2); ili9341_settextsize(3); ili9341_write('1'); _delay_ms(2); ili9341_write('0'); _delay_ms(2); ili9341_write('.'); _delay_ms(2); ili9341_write('2'); _delay_ms(2); ili9341_write('3'); _delay_ms(2); ili9341_setcursor(vactualx,vactualy); _delay_ms(2); ili9341_settextsize(5); ili9341_write('22'); _delay_ms(2); ili9341_write('0'); _delay_ms(2); ili9341_write('.'); _delay_ms(2); ili9341_write('2'); _delay_ms(2); ili9341_write('3'); _delay_ms(2); _delay_ms(2000); ili9341_setcursor(vsetx,vsety); _delay_ms(2); ili9341_settextsize(3); ili9341_write('9'); _delay_ms(2); ili9341_write('0'); _delay_ms(2); ili9341_write('.'); _delay_ms(2); ili9341_write('4'); _delay_ms(2); ili9341_write('5'); _delay_ms(2); ili9341_setcursor(vactualx,vactualy); _delay_ms(2); ili9341_settextsize(5); ili9341_write('9'); _delay_ms(2); ili9341_write('0'); _delay_ms(2); ili9341_write('.'); _delay_ms(2); ili9341_write('4'); _delay_ms(2); ili9341_write('5'); _delay_ms(2); _delay_ms(2000); } }