Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ILI9225_SPI_TFT mbed
Homepage
ILI9225 SPI TFT sample code¶
This program uses ILI9225_SPI_TFT to drive a ILI9225 TFT LCD, with supporting Persian language as an extra feature.
include the mbed library with this snippet
#include "mbed.h"
const unsigned char str[] =
{
0x28, 0x06, 0x47, 0x06, 0x20, 0x00, 0x46, 0x06, 0x27, 0x06, 0x45, 0x06, 0x20, 0x00,
0x2E, 0x06, 0x2F, 0x06, 0x27, 0x06, 0x00
}; // A unicode string, each unicode char divided to 2 bytes, for Persian language support
int main()
{
TFT_22_ILI9225 tft(PB_13, PB_14, PB_15, SPI_MOSI, SPI_SCK, PB_1); // RST, RS, CS, SDI (MOSI), CLK (SCK), LED
tft.begin();
tft.fill(COLOR_BLACK); // Setting LCD background
tft.setFontColor(COLOR_BLUEVIOLET); // Setting Font color
tft.setFontEffect(2); // Setting font effect (Only for persian language)
tft.goToXY(0, 16 * 0);
tft.setOrientation(1); // Setting orientation to portrait
tft.unicode2ascii((char *)str, lcd_buf); // Converting Unicode to
tft.putMixedEnAndFaString((unsigned char*)lcd_buf, 3); // Printing Persian string
tft.roundRectangle(10, 16 * 4 - 5, tft.maxX() - 10, 16*4 + 40, 20, true, COLOR_LIGHTBLUE);
tft.goToXY(30, 16 * 4);
char *ss = "سلام"; // Printing Arabic String, Persian characters such as ی will not be shown correcty
tft.putMixedEnAndFaString((unsigned char *)ss, 2);
wait(2);
tft.drawRectangle(0, 0, tft.maxX() - 1, tft.maxY() - 1, COLOR_WHITE);
tft.setFont(Terminal6x8);
tft.drawText(10, 10, "hello!");
wait_ms(1000);
tft.clear();
tft.drawText(10, 20, "clear");
wait_ms(1000);
tft.drawText(10, 30, "text small");
tft.setBackgroundColor(COLOR_YELLOW);
tft.setFont(Terminal11x16);
tft.drawText(90, 30, "BIG", COLOR_RED);
tft.setBackgroundColor(COLOR_BLACK);
tft.setFont(Terminal6x8);
wait_ms(1000);
tft.drawText(10, 40, "setBacklight off");
wait_ms(500);
tft.setBacklight(false);
wait_ms(500);
tft.setBacklight(true);
tft.drawText(10, 50, "setBacklight on");
wait_ms(1000);
tft.drawRectangle(10, 10, 110, 110, COLOR_BLUE);
tft.drawText(10, 60, "rectangle");
wait_ms(1000);
tft.fillRectangle(20, 20, 120, 120, COLOR_RED);
tft.drawText(10, 70, "solidRectangle");
wait_ms(1000);
tft.drawCircle(80, 80, 50, COLOR_YELLOW);
tft.drawText(10, 80, "circle");
wait_ms(1000);
tft.fillCircle(90, 90, 30, COLOR_GREEN);
tft.drawText(10, 90, "solidCircle");
wait_ms(1000);
tft.drawLine(0, 0, tft.maxX() - 1, tft.maxY() - 1, COLOR_CYAN);
tft.drawText(10, 100, "line");
wait_ms(1000);
for (uint8_t i = 0; i < 4; i++) { // Changing orientation and drawing the same objects again
tft.clear();
tft.setOrientation(i);
tft.drawRectangle(0, 0, tft.maxX() - 1, tft.maxY() - 1, COLOR_WHITE);
tft.drawRectangle(10, 20, 50, 60, COLOR_GREEN);
tft.drawCircle(70, 80, 10, COLOR_BLUE);
tft.drawLine(30, 40, 70, 80, COLOR_YELLOW);
wait_ms(1000);
}
tft.setOrientation(0);
tft.clear();
tft.setFont(Terminal12x16);
tft.setBackgroundColor(COLOR_YELLOW);
tft.drawText(10, 40, "bye!", COLOR_RED);
tft.setBackgroundColor(COLOR_BLACK);
tft.setFont(Terminal12x16);
wait_ms(1000);
tft.drawText(10, 60, "off");
wait_ms(1000);
tft.setBacklight(false);
tft.setDisplay(false);
}