вывод изображения на tft без cd карты

kainda
Offline
Зарегистрирован: 09.02.2017

#include <UTFT.h>
UTFT myGLCD(TFT395UNO, A2, A1, A3, A4, A0);
 
// выводим изображение
extern unsigned int dg[0x2710];

void setup()
{
  // инициализируем дисплей
  myGLCD.InitLCD();
}
void loop()
{
  // закрашиваем дисплей белым цветом
  myGLCD.fillScr(255, 255, 255);
  // выводим изображение
  int x = 0;
  for (int s = 0; s < 3; s++) {
    x += (s*96);
    myGLCD.drawBitmap(x, 0, 64, 64, dg, s+1);
  }
  delay(1000);
}

помогите разобратся с выводом изображения...

вот скетч

при загрузке на дисплее почему то три разных квадрата в полосочку, а картинки нет...

подмкажите где ошибка? и как правильно зделать? использую lcd 480х320

 

b707
Offline
Зарегистрирован: 26.05.2017

Я сам не обобо опытен, но у меня вопрос - где само изображение-то? В 5-й строке обьявляется массив для изображения. но я не вижу. где в этот массив помещается сама картинка...

kainda
Offline
Зарегистрирован: 09.02.2017
изображение скомпелированно во второй вкладке... в пятой строке указывается ссылка на нее.
часть кода:

// Generated by  : ImageConverter 565 v2.3
// Generated from: 4[2].jpg
// Time generated: 03.06.2017 16:46:42
// Dimensions    : 100x100 pixels
// Size          : 20 000 Bytes

#include <avr/pgmspace.h>

const unsigned short dg[0x2710] PROGMEM ={
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0010 (16)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0020 (32)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0xFFFF, 0xFFFF, 0xF7BE,

 

что то мои пояснения в код вставляет...

b707
Offline
Зарегистрирован: 26.05.2017

А код во второй вкладке как называется? Имя файла? А то что-то в основном скетче не видно ссылки на него.

kainda
Offline
Зарегистрирован: 09.02.2017

стучись в аську 351941775 или агент kain_d_a@mail.ru

так быстрей будет сообща разобраться... итог просто потом здесь выложим

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Доброго здравия!

Третий день чешу затылок, не пойму в чём дело.

Вывожу на lcd несколько небольших картинок из програмной памяти.  (флешка не отвечает но это др. история)

При выводе нескольких картинок вроде всё нормально :

С правой стороны в две средние "кнопки" вывожу внутренний элемент:

Посыпался массив с кирилицей в котором и латиница так же но котороя вроде пока выводится.

В одну из этих же "кнопок" добавляю ещё один рисунок. (все из программной памяти)

const uint8_t start_but[20002] PROGMEM = {
data = pgm_read_word_near(&bmp[...

Сыпится и латиница. Держуться только цифры, видимо из-за того, что они в начале массива.

Если продолжеть, контроллер виснет и даже идёт на перезагрузку.

Грешил на то, что переполняется оперативка, но после выведения свободного места на экран (более 7 КВ) вообще непонятно.

Кто сталкивался может? В каком направлении двигатся? Мысли просто закончились.

Logik
Offline
Зарегистрирован: 05.08.2014

hugoboss317 пишет:

Грешил на то, что переполняется оперативка, но после выведения свободного места на экран (более 7 КВ) вообще непонятно.

На мак пишете?

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Logik пишет:

На мак пишете?

Нет, наверное к сожалению.

Alex-GK
Offline
Зарегистрирован: 10.04.2012

hugoboss317 пишет:
Грешил на то, что переполняется оперативка, но после выведения свободного места на экран (более 7 КВ) вообще непонятно.

Кто сталкивался может? В каком направлении двигатся? Мысли просто закончились.

А попробуйте отключить оптимизацию компилятора!

http://arduino.ru/forum/obshchii/nastroika-kompilyatsii-v-arduino-ide

Поменять -Os на -O0. Если заработает, то у вас такая же проблема как у меня, останется найти ее решение.

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 пишет:

В одну из этих же "кнопок" добавляю ещё один рисунок. (все из программной памяти)

const uint8_t start_but[20002] PROGMEM = {

Грешил на то, что переполняется оперативка, но после выведения свободного места на экран (более 7 КВ) вообще непонятно.

интересно, а что за плата, если при выводе нескольких картинок, одна из которых 20 Кб - еще и 7Кб места осталось? ESP8266 ?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

b707 пишет:

интересно, а что за плата, если при выводе нескольких картинок, одна из которых 20 Кб - еще и 7Кб места осталось? ESP8266 ?

Ну дык они во флеше лежат, и ни один дурак не будет их целиком вычитывать в оперативку, тащемта. Так что таких картинок может быть и с десяток, при этом 7Кб места в оперативке также может оставаться.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Ну так и есть! Mega2560, справляется. Ну точнее не совсем.

Поменял на -O0, не помогло. 

Такое чувство что некоторые массивы вобще не загружает. При явной команде вывода, даже не пытается выводить.

b707
Offline
Зарегистрирован: 26.05.2017

DIYMan пишет:

Ну дык они во флеше лежат, и ни один дурак не будет их целиком вычитывать в оперативку, тащемта. Так что таких картинок может быть и с десяток, при этом 7Кб места в оперативке также может оставаться.

ну я к тому, что далеко не в каждой даже пустой плате есть 7к оперативки... и место на флеше для нескольких картинок по 20к

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 пишет:

Ну так и есть! Mega2560, справляется. Ну точнее не совсем.

Поменял на -O0, не помогло. 

Такое чувство что некоторые массивы вобще не загружает. При явной команде вывода, даже не пытается выводить.

выложите код загрузки картинок из флеша в оперативку и далее на экран

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

hugoboss317 пишет:

Ну так и есть! Mega2560, справляется. Ну точнее не совсем.

Поменял на -O0, не помогло. 

Такое чувство что некоторые массивы вобще не загружает. При явной команде вывода, даже не пытается выводить.

Код в студию, вангую, что проблема в коде.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Да вроде показывал. Пятый посто, вторая.

Да, там некорректно.

data = pgm_read_word(&bmp[((i * w)*2 + (j * 2))+2]);
		        writePixel(x + j, y + i, data);	

 

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Не думаю что проблема в коде. Когда массивов мало, всё работает. С добавлением .... ну и так далее. Потом просто не выводит не символы не изображения некоторые. Точ экрана не нтвечает, но контроллер работает, в порт данные летят.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

hugoboss317 пишет:

Да вроде показывал. Пятый посто, вторая.

Что показывали? Кусок кода, вырванный из контекста? Вы уверены, что именно в этом куске кода все проблемы? Если да - просто не пользуйте этот кусок кода. Если нет - выкладывайте полный код скетча.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Это из функции вывода изображения, чтение из программной памяти и вывод. И я как раз уверен что проблема не в нём. 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

hugoboss317 пишет:

Это из функции вывода изображения, чтение из программной памяти и вывод. И я как раз уверен что проблема не в нём. 

Ну на нет и суда нет, третий раз просить код я не буду, а по огрызкам ничего не скажешь.

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 пишет:

Это из функции вывода изображения, чтение из программной памяти и вывод. И я как раз уверен что проблема не в нём. 

Вполне возможно, что не в нем. По описанию глюков похоже на выход за границы массива или на обращение по неверному указателю. Поэтому вас просят показать ВЕСЬ код. Но если код СЕКРЕТНЫЙ - то выход один - разбирайтесь сами.

hugoboss317
Offline
Зарегистрирован: 21.03.2013
коды-шмоды, удалено
hugoboss317
Offline
Зарегистрирован: 21.03.2013

Некоторые изображения с расширением .с в папке скетча, некоторые .h включены. Пробую по разному

hugoboss317
Offline
Зарегистрирован: 21.03.2013

b707 пишет:

Вполне возможно, что не в нем. По описанию глюков похоже на выход за границы массива или на обращение по неверному указателю.

Вот это уже похоже.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

И где тут хоть один pgm_read_word? Где тут хоть один PROGMEM? Вы сначала говорите об одном, а потом оказывается, ВНЕЗАПНО, что код совершенно другой. Всё, я пас, слабак, сдулся :)

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 - вы издеваетесь? В этом коде нет чтения картинок из прогмема. Вам непонятно, что надо выкладывать ИМЕННО ТОТ код, с которым у вас проблемы, а не что-то "аналогичное"?

Не хотите нормально задавать вопросы - не задавайте. Зачем только форум засорять.

b707
Offline
Зарегистрирован: 26.05.2017

DIYMan - синхронно :)

Автор - типичный ваятель "суперкрутого" кода, который, конечно же, нужно скрывать, "чтоб китайцы не украли" :) пусть тогда сам ошибки ищет

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Капец вы исполняете.

>> Поэтому вас просят показать ВЕСЬ код

>> Если нет - выкладывайте полный код скетча.

Скетч не просто зелёный, даже не тестовый, а вобще никакой, подгоночный, я не знаю. Он вам и нафиг не нужен, так нет же, покажи всё, покажи. Посмотрели???

Вывод изображения, но показал же, читаем два байта из флеша, это цвет пикселя, нет, всё им надо.

Ну то же самое.

void Adafruit_GFX::drawBitmap(uint16_t x, uint16_t y, uint8_t *bmp){
	uint16_t w, h, data;
	w = pgm_read_byte(&bmp[0]);
	h = pgm_read_byte(&bmp[1]);
	startWrite();
	for(int16_t i = 0; i < h; i++){
	    for(int16_t j = 0; j < w; j++){
		    data = pgm_read_word(&bmp[((i * w)*2 + (j * 2))+2]);
		        writePixel(x + j, y + i, data);				
	   }		
	}
	endWrite();
}

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Всё ясно, расходимся, нам тут не рады :)

hugoboss317
Offline
Зарегистрирован: 21.03.2013

DIYMan пишет:

Всё ясно, расходимся, нам тут не рады :)

Да чё так? Может полностью скетч выложить? я могу. Или код полностью? не вопрос. А если скетч надо или код полностью, да только скажите. Как вывожу картинку могу, не надо? могу ещё код или скетч полностью.....

Если код не надо, так и скажите. Давайте я по чётным постам код вывода картинки, а по не чётным скетч полностью. 

 

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 - ну вы тупите :)  И код уже удалили :) За вами не следят, вы не замечали? :)

и каких только персонажей сюда не ходит... Интернет - срез общества.

 

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 пишет:

Да чё так? Может полностью скетч выложить? я могу. Или код полностью? не вопрос. А если скетч надо или код полностью, да только скажите. Как вывожу картинку могу, не надо? могу ещё код или скетч полностью.....

Если код не надо, так и скажите. Давайте я по чётным постам код вывода картинки, а по не чётным скетч полностью. 

 

кто-нибудь, вызовите скорую, человеку плохо...

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Самое забавное то, что код чтения из флеша вырезан из адафрутовской библиотеки, т.е. на неё надо в последнюю очередь грешить. Но зато паранойи - вагон, гонору - прицеп, отож.

Как объявлены переменные - хз, т.к. есть другие файлы, в которых они объявляются, но нам их, вследствие приступа паранойи - показывать ай-яй-яй ни под каким соусом! Соответствует ли размерность массива требуемой - тоже хз, может, там нахероверчено так, что дуньке крышу сносит (как самый простой юзкейс - размерность массива должна быть кратна 8 для библиотеки - это чисто как пример навскидку).

Короче - кругом заговор и враги, и посреди этого всего, на дымящейся кучке собственного достоинства, гордо стоит наш д'Артаньян, в ушанке набекрень, неистово отмахиваясь папкой с надписью "NDA" от косоглазых вражин, пытающихся помочь ему решить сугубо его утилитарно низкую проблему.

Лол.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Парни, вот вы вобще нормальные???

Я даже цитировать не буду, почитайтайте что пишите, это пипец какойто.

Вы зенькт то протрите, да и сами определитесь что и от кого хотите.

Вроде как и посылать не удобно т.к. помоч пытались, но и помощники, как бы помягче сказать, прям западные партнёры а не помощники.

Вы просто тупите не по детски и свои комплексы на меня перебрасываете.

Покажи это, не не это, то покажи, да не то, это. Я того не видел, где оно, не это не показывай то покажи. Алё ку ку.

Вывожу букву "А". выводится.

Добавляю в скетч вывод рисунка, выводится

добавляю второй - выводится

добавляю трерий - буква "A" не выводится

добавляю четвёртый - толком ничего не работает.

Ну если первый рисунок выводится, с функцией вывода всё впорядке.

Если "А" выводится, и с печатью всё нормально.

Вопрос - что может произайти с железом, что так глючит?

Ответ

>> а ты полностью код покажи

>>а зачем ты весь код показал,он не нужен, вот ты тормоз, где вывод изображения из прогмэм

>> это не понятно, а зачем код удалил, вот тормоз капец

Что дальше? Давайте я вывалю все файлы библиотек? Ну чтоб сказали - "зачем нам это всё, ты код покажи!?"

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Может кто и помог бы как нибудь так распугали всех

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

hugoboss317 пишет:

 

Вывожу букву "А". выводится.

Добавляю в скетч вывод рисунка, выводится

добавляю второй - выводится

добавляю трерий - буква "A" не выводится

добавляю четвёртый - толком ничего не работает.

Ну если первый рисунок выводится, с функцией вывода всё впорядке.

Если "А" выводится, и с печатью всё нормально.

Неправильные выводы в последних двух предложениях. Правильные "ВОЗМОЖНО, всё в порядке". Но тебе похрен, т.к. ты, по ходу, на своей волне - все виноваты и вообще вражины. Я который раз пишу, что НИХЕРА неясно, как объявлены твои переменные, содержащие байты рисунков - КАК МИНИМУМ.

Но тебе - похер. Ну и мне - тоже похер, вот и поговорили.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

hugoboss317, вероятнее всего, Вы пытаетесь вывести массивы, лежащие за пределами первых 64К, при помощи ближних указателей.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

andriano пишет:

hugoboss317, вероятнее всего, Вы пытаетесь вывести массивы, лежащие за пределами первых 64К, при помощи ближних указателей.

Кстати, вполне себе вариант, т.к. pgm_read_word по умолчанию с короткими адресами работает. Но тут рыбы нет  - деталей у ТС не допросишься - ни объявления переменных, ничего, так что хотя бы примерно судить о том, сколько у него занимают те массивы - только догадками.

Вот и сидим, гадаем, бедные - что ж там и как там устроено, не находим себе места :)

hugoboss317
Offline
Зарегистрирован: 21.03.2013

andriano пишет:

hugoboss317, вероятнее всего, Вы пытаетесь вывести массивы, лежащие за пределами первых 64К, при помощи ближних указателей.

Я так пологаю, что только дальний указатель проблему не решит.

 data = pgm_read_word_far(&bmp[......

Ещё есть подозрение, вероятно ошибочное, что надо бы изменить модель памяти на "Compact".

Так же надо быть уверенным что массив данных точно расположен за пределами 64К.

В пятом посту я показывал как обьявляется массив данных и следующей строчкой как читается из него данные.

 По своей наивности, или не знанию, дамал что при указании на мегу2560, компелятор это всё учитывает.

Иначе не до конца понимаю смысл в контроллере с таким объёмом памяти, и при этом, я бы сказал, необычных проблемах если данные занимают больше 64К.

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

hugoboss317 пишет:

Я так пологаю, что только дальний указатель проблему не решит.

Можно "полагать", а можно проверить.

Цитата:

Ещё есть подозрение, вероятно ошибочное, что надо бы изменить модель памяти на "Compact".

Вряд ли модели памяти для 8086/MS-DOS применимя к Atmel, но ближайшая аналогия для Меги - Large.

Цитата:

Так же надо быть уверенным что массив данных точно расположен за пределами 64К.

Отнюдь.

Дальнему указателю это абсолютно безразлично.

Цитата:

По своей наивности, или не знанию, дамал что при указании на мегу2560, компелятор это всё учитывает.

Компилятор лишь выполняет роль переводчика, а алгоритм работы и типы данных определяет программист. Компилятор программиста заменить не может.

Цитата:

Иначе не до конца понимаю смысл в контроллере с таким объёмом памяти, и при этом, я бы сказал, необычных проблемах если данные занимают больше 64К.

PROGMEM - это память для программ, а не для данных. Программист может использовать эту память на свое усмотьрение, но при этом и забота о правильной организации доступа к памяти также лежит на программисте.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Само мобой я сначала проверил.

Если в кратции, то ничего не получается.

Такое чувство что и программный код частично закидывает за пределы первых 64К, и программа на половину работает.

В порт данные шлёт, а экран мёртвый.

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 пишет:

В порт данные шлёт, а экран мёртвый.

Если в порт шлет - значит с памятью все нормально и косяк - в коде.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Косяк начинается когда пытаюсь вывести картинки, точнее когда их много становится.

Допустим пять небольших выводит (я это описывал  с иллюстрациями).

Не трогая НИЧЕГО АБСОЛЮТНО добавляю ещё изображение, и пошла веселуха.

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 пишет:

Не трогая НИЧЕГО АБСОЛЮТНО добавляю ещё изображение, и пошла веселуха.

Мне кажется. разговор давно по кругу ходит.

Раз вы не хотите показывать код - ищите ошибку самостоятельно.  Через форум ошибки не ищут, это медленно и нежффективно.  Вы вообще с принципами отладки знакомы? Необходимо максимально упростить код, оставив только то, что имеет отношение к проблеме. Потом выяснить, в какой момент и при каких условиях возникает ошибка. Сделайте вывод проблемной картинки в порт вместо экрана - посмотрите воспроизведется ли ошибка. Потом переставьте картинки местами. Вставьте вывод в порт непосредственно в процедуру отрисовки изображения на экран, чтобы видет, те ли параметры туда передаются...

Ну что вы как маленький - рассуждаете о разных моделях памяти и длинных указателях, а сами в своем же коде ошибку отловить не можете?

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Еслы Вы ещё один раз произнесёте фразу "покажите код" я возму пистолет и выстрелю в монитор ноутбука.

Иначе меня запрут в чингулек и держать там будут долго, а я из палаты буду кричать "НУ КАКОЙ ЕЩЁ КОД ПОКАЗАТЬ...... КА..А..А..А КОЙ.

Или это тупо поржать для себя? " покажи код, не этот, код покажи, нет не этот, покажи код...." Сколько можно?

Как в анекдоте - почему в шапке - почему без шапки...

А всё вышеперечисленное я уже делал.

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 пишет:

А всё вышеперечисленное я уже делал.

И ???  важно же не просто делать - а получить результат! А если результата нет - значит мало делали, или не то, или не так.

 

ЗЫ простите, но у меня стойкое впечатление. что вы уже откуда-то сбежали, где держат таких, так вы. Просьба показать код вызывают у вас нездоровую реакцию . Вы абсолютно убеждены, что код ваш верный и изучать другим его не нужно. Но если он верный - почему же он не работает-то? и если вы его не даете - как искать ошибки?

Теперь я предлагаю вам методику поиска ошибок самостоятельно - вы ее тоже отвергаете.  Что вы хотите-то от форума? Или у вас цель именно в том, чтоб доказать (себе, жене, начальнику?) - что задача неразрешима в принципе?

 

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Вот тестовый скетч который наглядно показывает проблему:


#include <MemoryFree.h>
//**************************************
#include <MCUFRIEND_kbv.h>  // pins here
MCUFRIEND_kbv tft;       // hard-wired for UNO shields anyway.
#include <TouchScreen.h>
#include "FNT/myFonts.h"
#include "IMG/button.h"
extern const uint8_t menu_but[];
extern const uint8_t out_but[];
extern const uint8_t start_but[];
extern const uint8_t stop_but[];

uint16_t identifier, oldcolor, curcol;
uint8_t Orientation = 1;    //PORTRAIT

uint8_t takt;
uint16_t xpos, ypos, yb = 186;  //screen coordinates
uint16_t pos, o_pos, r_hi = 49, r_wi = 70, o_x_r, o_y_r, rad = 20, x_osence1,
                     x_r, y_r, z_r, o_z_r,  menu, o_menu = !menu, xd, yd, o_yd, o_xd, z_pos;
uint16_t col, b_col = RGB(0, 0, 30);
uint32_t o_mill, o_time, o_memmil;
bool line, push, but_1, but_2, but_3, but_4, but_5, but_6, but_7,
     but_15, but_16, but_17, but_23, but_25, but_26, but_27, but_28,
     f_pump, b_keep;

void setup(void)
{ uint16_t tmp;
  tft.reset();
  identifier = 0x6814; //tft.readID();

  tft.begin(identifier);
  tft.setRotation(Orientation);
  tft.fillScreen(b_col);
//*********************************************************************
tft.SetFont(font_12x15_rus);
tft.setCursor(10, 250);
tft.print("FreeRAM = ");
tft.print(freeMemory());
Serial.begin(9600);
uint8_t a = 'А';
Serial.print("A = ");
Serial.println(a);
//*********************************************************************
tft.drawBitmap(0, 24, 100, 100, start_but);
//tft.drawBitmap(379, 24, 100, 100, stop_but);
Serial.print("freeMemory = ");
Serial.println(freeMemory());

}
//*********************************************************************
void loop() {
}

Если строка 45 закоментирована :

Усли не выводить строку 44:

А если вывести оба изображения:

В первых двух случаях размер скетча 35 К

В третьем 55 К.

Если грешить на саму функцию чтения и вывода из программной памяти, или на "битые" данные, в первом и втором случаи, выводит нормально, да и в третьем другое изображение выводит.

А массив с символами затерялся и не выводится вобже ничего.

В порт выводит о чём просят.

P.S. 

... Подходит волк к зайцу, даёт подзатыльник со словами -"почу в шапке?"

Заяц испуганно снимает шапку.

Волк опять подзатыльник - "почему без шапки?".

Тот одевает шапку. И так несколько раз.

Решил какойто толк извлеч от зайца и говорит - "сбегай ка ты и принеси мне яблок."

- Тебе каких? Кислых? Сладких? Кислосладких? Сладкокислых?

- "........................................ почему в шапке?" 

 

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 пишет:

В порт выводит о чём просят.

про вывод в порт - это вы про вывод строки "А = А"? Какая в этом польза?

Вывод в порт - в том случае с двумя картинками, где кнопка "Старт" не рисуется - выведите в порт битмап картинки и сравните с исходным. Так вы узнаете, глючит ли чтение из памяти или отрисовка на экране. Вполне возможно, что половина картинки сольется правильно, а половина нет - тогда будете знать, с какого индекса начинаются проблемы.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Выводил значения первого и второго байтов из массива. Там изначально был размер картинки. В нормально выводимом изображении нормально. В "кривом" полностью или 255 или другое, но не соответствие. Такое чувство что указатели не соответствует адресу с массивом.

Скажите такое. Если долго использую плату, часто загружал, может ей хана наступать?

P.S. указатели дальние.

b707
Offline
Зарегистрирован: 26.05.2017

hugoboss317 пишет:

 

Скажите такое. Если долго использую плату, часто загружал, может ей хана наступать?

Ресурс флешпамяти - 10 тыс перезаписей. Так что если штатно заливать скетчи, то вряд ли убьете. Но если пользоваться всяким изощренным образом - например как ЕПРОМ. писать из программы - то запросто.

Проверить просто - возьмите заведо исправную плату и залейте в нее.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

b707 пишет:

Проверить просто - возьмите заведо исправную плату и залейте в нее.

Ну до этого я бы уже сам точно додумался.

Я как бы по середине персицкого залива, и не совсем есть возможность залить в другую, даже не заведомо рабочую плату. УНО заводомо не справиться (это из того что есть).