aidar_i писал(а): 28 фев 2019, 22:52
Turb0user писал(а): 28 фев 2019, 18:03Странно что ни кто его тут не описывал.
Просто никто не пользуется им по I2C, медленно работает.
Попробуйте вывод текста и картинки.
Блоки I2C_graphical_LCD_display.flp
Не работает, при компиляции выдает ошибку
[spoiler][scroll]#include <Wire.h>
#include <I2C_graphical_LCD_display.h>
#include <SPI.h>
I2C_graphical_LCD_display lcd;
bool En_74932214_1;
bool En_229283407_1;
String text_229283407_1;
char textStr_229283407_1[60];
bool En_229283407_2;
String text_229283407_2;
char textStr_229283407_2[60];
bool En_266896953_1;
const byte picture_266896953_1[] PROGMEM = {
0x1C, 0x22, 0x49, 0xA1, 0xA1, 0x49, 0x22, 0x1C, // face 0x10, 0x08, 0x04, 0x62, 0x62, 0x04, 0x08, 0x10, // star destroyer 0x4C, 0x52, 0x4C, 0x40, 0x5F, 0x44, 0x4A, 0x51, // OK logo
};
bool _tim1I = 0;
bool _tim1O = 0;
unsigned long _tim1P = 0UL;
bool _trgrt1 = 0;
bool _trgrt1I = 0;
void setup()
{
lcd.begin ();
TWBR = 12;
lcd.clear (0, 0, 127, 63, 1);
}
void loop()
{
//Плата:1
En_266896953_1 = !(0);
if (En_266896953_1) {
lcd.gotoxy (0, 0);
lcd.blit (picture_266896953_1, sizeof picture_266896953_1);
}
if (!(0))
{ if (_tim1I) { if (_isTimer(_tim1P, 3000)) {_tim1O = 1;}} else {_tim1I =1; _tim1P = millis();}} else {_tim1O = 0; _tim1I = 0;}
En_229283407_1 = !(_tim1O);
text_229283407_1 = String("TEST");
if (En_229283407_1) {
text_229283407_1.toCharArray(textStr_229283407_1, text_229283407_1.length()+1);
lcd.gotoxy (0, 50);
lcd.string (textStr_229283407_1, 1);
if (_tim1O) { if (_trgrt1I) { _trgrt1 = 0;} else {_trgrt1 = 1; _trgrt1I = 1;} } else {_trgrt1 = 0; _trgrt1I = 0;};
En_74932214_1 = _trgrt1;
if (En_74932214_1) {
lcd.clear (0, 0, 127, 63, 0xFF);
}
En_229283407_2 = _tim1O;
text_229283407_2 = String("LCD_I2C");
if (En_229283407_2) {
text_229283407_2.toCharArray(textStr_229283407_2, text_229283407_2.length()+1);
lcd.gotoxy (0, 50);
lcd.string (textStr_229283407_2, 1);
}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}[/scroll][/spoiler]
[spoiler]"
pr8:48: error: '_isTimer' was not declared in this scope
pr8:72: error: a function-definition is not allowed here before '{' token
pr8:76: error: expected '}' at end of input
pr8:76: error: expected '}' at end of input
Используем библиотеку Wire версии 1.0 из папки: c:\Program Files (x86)\FLProg4\ideV2\portable\packages\arduino\hardware\avr\1.6.23\libraries\Wire
Используем библиотеку I2C_graphical_LCD_display-master в папке: c:\Program Files (x86)\FLProg4\ideV2\portable\sketchbook\libraries\I2C_graphical_LCD_display-master (legacy)
Используем библиотеку SPI версии 1.0 из папки: c:\Program Files (x86)\FLProg4\ideV2\portable\packages\arduino\hardware\avr\1.6.23\libraries\SPI
exit status 1
'_isTimer' was not declared in this scope[/spoiler]
При загрузке примера выключается подсветка экрана и больше не чего не происходит. При подключении по spi работает.