Files
SyncHome/trunk/Arduino/libraries/DigoleSerial/examples/Module_Config/Module_Config.ino
2023-03-17 11:59:21 +00:00

88 lines
3.1 KiB
C++

/*********************
http://www.digole.com/forum communicate with us and other user
http://www.digole.com buyer Digole module
**********************/
//You have to change the following definition according to the Digole display
#define _Digole_Serial_UART_ //To tell compiler compile the special communication only,
//all available are:_Digole_Serial_UART_, _Digole_Serial_I2C_ and _Digole_Serial_SPI_
#define _Universal_Graphic_Adapter_
// #define _Universal_Char_Adapter_
// #define COL 20 //change for your char lcd
// #define ROW 4 //change for your char lcd
#include <DigoleSerial.h>
//--------UART setup
#if defined(_Digole_Serial_UART_)
DigoleSerialDisp mydisp(&Serial, 9600); //UART:Arduino UNO: Pin 1(TX)on arduino to RX on module
#endif
//--------I2C setup
#if defined(_Digole_Serial_I2C_)
#include <Wire.h>
DigoleSerialDisp mydisp(&Wire, '\x27'); //I2C:Arduino UNO: SDA (data line) is on analog input pin 4, and SCL (clock line) is on analog input pin 5 on UNO and Duemilanove
#endif
//--------SPI setup
#if defined(_Digole_Serial_SPI_)
DigoleSerialDisp mydisp(8, 9, 10, 11); //SPI:Pin 8: data, 9:clock, 10: SS, 11:SI. you can assign 255 to SS, and hard ground SS pin on module
#endif
void setup() {
mydisp.begin(); //initiate serial port
/*------Set Uart Baud------*/
//in order to set Uart Baud same with Arduino, we suggest you set the Baud at the beginning code, but you also
//can change the Baud by send "SB" follow the rate to moudle
// Serial->print("SB");
// Serial->println(newBaud);
// delay(100);
// Serial->begin(newBaud);
/*------Change I2C address------*/
//mydisp.setI2CAddress(newI2Caddress);
/*------Change splash screen and display serial config setting ----*/
//mydisp.displayConfig(0); //0=disable, 1=enable display the serial port configuration show when power up
//mydisp.displayStartScreen(0); //0=disable, 1=enable display flush screen when power up
/*------Universal graphic adapter setting------*/
//this adapter can work with ST7920, KS0108 and ST7565 LCD controller
#ifdef _Universal_Graphic_Adapter_
//set adapter for ST7920 controller
mydisp.clearScreen();
mydisp.setLCDChip(0);
delay(4000);
mydisp.drawStr(0, 0, "command:SLCD0");
delay(2000);
//set for KS0108 controller, the E,CS1,CS2 on LCD can be set low or high level active
//you should see: "command:SLCD4xxx" on screen when config is correct, remember xxx
//remember:you have to short the 2x KS0108 jumpers on the adapter board
for (unsigned char i = 0; i < 2; i++)
for (unsigned char j = 0; j < 2; j++)
{
mydisp.setLCDChip(4);
mydisp.write(i); //E logic level
mydisp.write(j); //CS1 logic level
mydisp.write(j); //CS2 logic level
delay(4000);
mydisp.drawStr(0, 0, "command:SLCD4");
mydisp.print(i);
mydisp.print(j);
mydisp.print(j);
delay(2000);
}
//set work for ST7565 controller
mydisp.setLCDChip(2);
delay(2000);
mydisp.drawStr(0, 0, "command:SLCD2");
#endif
/*------Universal Character adapter setting----*/
#ifdef _Universal_Char_Adapter_
mydisp.setLCDColRow(COL, ROW);
#endif
}
void loop() {
}