scrolling example code for SHARP LCD LS027B4DH01/LS027B7DH01, using AkiSpiLcd library

Dependencies:   AkiSpiLcd mbed

This is very basic library example to access a graphic LCD LS027B4DH01 or LS027B7DH01

Import libraryAkiSpiLcd

Basic library for SHARP LCD LS027B4DH01/LS027B7DH01

  • schematic example1: /media/uploads/k4zuki/akispilcd_v2.1m.sch.png
  • schematic example2: /media/uploads/k4zuki/2.7inchshield.sch.png
  • example1 photo: /media/uploads/k4zuki/2014-09-17_20.22.26.jpg /media/uploads/k4zuki/2014-09-17_20.22.48.jpg
  • example2 photo: /media/uploads/k4zuki/2014-04-29_13.17.57.jpg
  • example2 movie (mpeg4 movie):

main.cpp

Committer:
k4zuki
Date:
2015-07-15
Revision:
10:49b29e3c9d9c
Parent:
9:3f19d3e5d2a0

File content as of revision 10:49b29e3c9d9c:

#include "mbed.h"
#include "AkiSpiLcd.h"

#if defined(TARGET_LPC1768)
#include "hogepic.h"
extern const uint8_t hogepic[];
#include "invader_modoki.h"
extern const uint8_t invader_modoki[];
/*
1 SCLK D3=p13
2 MOSI D5=p11
3 CS D2=p14
4 DISP enable D5=p22
*/
AkiSpiLcd LCD(p11, p12, p13, p9, p10);
DigitalOut myled(p22);

#elif defined(TARGET_SSCI824)
#include "invader_modoki.h"
extern const uint8_t invader_modoki[];

AkiSpiLcd LCD(dp10, dp9, dp8, dp7, dp6);
DigitalOut myled(dp18);
#endif


int main()
{

//    myled=0;
//    uint8_t read[50];
//    LCD.ramWriteMulti(0,240,(uint8_t*)(hogepic),SCREEN0);
//    LCD.ram_read(LCD.RAMLINE_BASE,read,50);
//    wait_ms(1);
    LCD.cls();
    LCD.cls_ram(SCREEN0);
    LCD.cls_ram(SCREEN1);

    myled=0;
//    LCD.ramWriteMultiLine(1,240,(uint8_t*)(hogepic),SCREEN0);
//    LCD.ramWriteMultiLine(1,240,(uint8_t*)(invader_modoki),SCREEN1);
//    LCD.ram2lcd(1,240,SCREEN0);
//    int screen[2] = {SCREEN0,SCREEN1};
    while(1) {
        /*
        if(screen[1] ==0) {
            screen[0]=SCREEN0,screen[1]=SCREEN1;
        } else {
            screen[1]=SCREEN0,screen[0]=SCREEN1;
        }
        */
        myled=1;
//        LCD.cls( );
        LCD.ram2lcd(SCREEN0);
        myled=0;
        LCD.ram2lcd(SCREEN1);
        /*
        for(int i=1; i<=240; i++) {
        //            LCD.ramReadSingle(i,read,SCREEN0);
            LCD.ram2lcd(1,i,screen[1]);
            myled=1;
            LCD.ram2lcd(i+1,240-i+1,screen[0]);
            myled=0;
        //            LCD.directUpdateMulti(i,(240-i),(uint8_t*)(hogepic));
        //            LCD.directUpdateMulti(1,(i),(uint8_t*)(hogepic+50*(240-i)));
        }
        */
    }
}