Цитата Сообщение от zhserg Посмотреть сообщение
Спасибо за подсказку. Почти так и сделал, только буфер последовательного порта > 128 байт не получается применить - не работает. Но даже с буфером 126 байт скорость вывода получилась практически теоретически достижимая. На 115200 - около 7 сек. На 256000 (оказывается ардуинка и такую скорость поддерживает!!!) - около 4 сек. Эксперименты с выводом картинки завершил

PHP код:
#include <S65Display.h>

S65Display lcd;

byte volatile data[126];  //массив входных данных
int n=0, nbuf=126; // индекс массива, размер буфера
byte x=1, y=1; // текущие координаты

void setup(){  
  
//init LCD
  
lcd.init(4); //spi-clk = Fcpu/4
  //clear screen
  
lcd.clear(RGB(0,0,0));
  
Serial.begin(256000);
}

void loop(){
 if (
Serial.available() == nbuf) {
       for (
int i = 0; i < nbuf; i++) data[i] = Serial.read();  // прочитать данные из порта в массив 
       
for (int i = 0; i < nbuf/3; i++) {
           
lcd.drawPixel(x ,y ,RGB(data[n],data[n+1],data[n+2])); // вывод пикселя на экран
           
x++; // увеличиваем значение X
           
n = n + 3;
           if (
n > nbuf-1) n = 0;
           if (
x > 176) {
             
x = 1;
             
y++; // увеличиваем значение Y
             
} 
           }
         }
} 
Подскажите, пожалуйста, новичку.

Не могу разобраться, как нужно слать ардуине. Я так понимаю что нужна последовательность RGB, например, 255044120. При отправке подобного кода ардуина рисует пиксели, но не требуемого цвета. Не знаю в каком режиме нужно слать через терминал(byte, ascii, hex, dec)?
Еще вопрос, какой программой вы пользовались для разложения картинки на последовательность цветов пикселей?

Chip, насчет русских шрифтов нет новостей?