Getting started with Atmel SAM4S-EK2

Display 1

This project will focus on how to use the LCD display.

It requires SMC module. Enable the peripheral clock

pmc_enable_periph_clk(ID_SMC);

In order to use the LCD, we have configure the SMC interface for LCD.

smc_set_setup_timing(SMC, ILI93XX_LCD_CS, SMC_SETUP_NWE_SETUP(2)
    | SMC_SETUP_NCS_WR_SETUP(2)
    | SMC_SETUP_NRD_SETUP(2)
    | SMC_SETUP_NCS_RD_SETUP(2));
    smc_set_pulse_timing(SMC, ILI93XX_LCD_CS, SMC_PULSE_NWE_PULSE(4)
    | SMC_PULSE_NCS_WR_PULSE(4)
    | SMC_PULSE_NRD_PULSE(10)
    | SMC_PULSE_NCS_RD_PULSE(10));
    smc_set_cycle_timing(SMC, ILI93XX_LCD_CS, SMC_CYCLE_NWE_CYCLE(10)
    | SMC_CYCLE_NRD_CYCLE(22));
    #if ((!defined(SAM4S)) && (!defined(SAM4E)))
    smc_set_mode(SMC, ILI93XX_LCD_CS, SMC_MODE_READ_MODE
    | SMC_MODE_WRITE_MODE
    | SMC_MODE_DBW_8_BIT);
    #else
    smc_set_mode(SMC, ILI93XX_LCD_CS, SMC_MODE_READ_MODE
    | SMC_MODE_WRITE_MODE);
    #endif

Before initializing, switch off the backlight

aat31xx_disable_backlight();

To initialize the LCD driver

g_ili93xx_display_opt.ul_width = ILI93XX_LCD_WIDTH;
g_ili93xx_display_opt.ul_height = ILI93XX_LCD_HEIGHT;
g_ili93xx_display_opt.foreground_color = COLOR_BLACK;
g_ili93xx_display_opt.background_color = COLOR_WHITE;

Set the backlight brightness

aat31xx_set_backlight(AAT31XX_AVG_BACKLIGHT_LEVEL);

Set display on

 ili93xx_display_on();

Turn display off

ili93xx_display_off();

Draw a pixel

ili93xx_set_foreground_color(COLOR_RED);
ili93xx_draw_pixel(60, 60);

Draw a line and circle

ili93xx_set_foreground_color(COLOR_BLUE);
ili93xx_draw_circle(180, 160, 40);
ili93xx_set_foreground_color(COLOR_VIOLET);
ili93xx_draw_line(0, 0, 240, 320);

Draw a string of text

ili93xx_set_foreground_color(COLOR_BLACK);
ili93xx_draw_string(10, 20, (uint8_t *)"ili93xx_lcd example");

Fill a rectangle with one certain color

ili93xx_set_foreground_color(COLOR_BLUE);
ili93xx_draw_filled_rectangle(0, 0, ILI93XX_LCD_WIDTH, ILI93XX_LCD_HEIGHT);

Get device type

ili93xx_device_type();

Click here for project code