ВНИМАНИЕ! На форуме началось голосование в конкурсе - астрофотография месяца СЕНТЯБРЬ!
0 Пользователей и 1 Гость просматривают эту тему.
По поводу интерфейса модуля экрана-черт его знает. Слишком много пинов используется. Чуть ли не треть-четверть от всех доступных. Наверное что-то чисто питание и др. Все остальные датчики на I2C и задействованы пару аналоговых входов под термопары (температура 2-х цилиндров двигателя). Хотя и их тоже можно на I2C шину посадить (есть оцифровывающие аналоговый сигнал модули). А она насколько я знаю может быть размножена для нескольких устройств.
7" панель, вроде, имеет обычный RGB, видеоОЗУ отсутствует. Необходимо подключить внешний видеоконтроллер, интерфейс самого контроллера может быть любой, в т.ч. для mega или duo. Получается, как бы, нет никаких препятствий для подключения нескольких панелей к чему угодно. Впрочем, лучше спросить у специалистов.
Есть одна стандартная библиотека - SD, где есть такая строка:Код: [Выделить] _file = (SdFile *)malloc(sizeof(SdFile));Непонятно зачем, но есть. Если будет перемежаться открытие файлов с выделением памяти где-то в пользовательском коде, уже может быть проблема.
Думаю, имелось ввиду такое решение http:///ссылка запрещена правилами форума//item/2015-Upgrade-SainSmart-Mega2560-7-7-Inch-TFT-LCD-Shield-TFT-LCD-Shield-For-Arduino-100/32392356777.html?spm=2114.03010208.3.61.lyxaz2&ws_ab_test=searchweb201556_0,searchweb201602_2_10039_10057_10048_10047_10056_10055_10037_10049_10059_10033_10046_10058_10032_10045_10017_405_404_10040_10060,searchweb201603_8&btsid=b7e1c613-de93-4ca8-8be8-5c273573ae63
МК не рекоменуются для 7" панелей...
Цитата: fmman от 25 Июл 2016 [14:35:20] МК не рекоменуются для 7" панелей...А что так?
Давайте не будем гадать на кофейной гуще и пускай Миша сам нам расскажет, о каком устройстве идёт речь, и даст ссылку на более-менее вменяемое описание (в идеале - спецификацию)
Используется параллельный интерфейс в вариантах 8, 9, 16, 18 и 24 пина, однако есть вход Chip Select, что по всей видимости даёт возможность подключить несколько таких модулей параллельно, но CS вывести на разные свободные порты Arduino. В общем подключить две можно, но, возможно, придётся немного вмешаться в код библиотеки для работы с ней, и может оказаться нетривиальным само механическое подключение.
TASK SomeTask{ // some code suspend; // another code suspend; // some more code}
int SomeTask(int* _state){ switch (*_state) { case 0: // some code *_state = 1; return 0; case 1: // another code *_state = 2; return 0; case 2: // another code *_state = -1; return 1; default: return 1; }}
struct SchedulerItem { void(*Func)(int*); int state;};struct SchedulerItem items[MAX_ITEMS];int usedItems = 0;int ScheduleTask(void(*Func)(int*)){ if (usedItems < MAX_ITEMS - 1) { items[usedItems].Func = Func; items[usedItems].state = 0; ++usedItems; return 1; } return 0;}int main(){ int i, j; ScheduleTask(SomeTask); // scheduler loop i = 0; for(;;) { if (items[i].Func(&items[i].state)) { for (int j = i + 1; j < usedItems; ++j) { items[j-1] = items[j]; } if (--usedItems == 0) { break; } } else { ++i; } if (i == usedItems) { i = 0; } }}