Перейти к содержанию
    

yung

Свой
  • Постов

    210
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о yung

  • Звание
    Местный
    Местный

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

1 869 просмотров профиля
  1. Лет ...надцать назад был SED1335. Монохром, 8 пикселей в байте, 3 слоя. Можно попробовать поискать, чем это семейство продолжилось.
  2. Приветствую. В даташите вскользь написано про 3-битный цвет. Перерыл весь инет, нигде не нашел примера использования. В обычном, 18 бит, работает без проблем. 8-цветный режим победить не могу (((
  3. Вопрос по Keil5

    На том и остановимся.
  4. Вопрос по Keil5

    Немного не то. В 4-ке так же, как в компиляторе для AVR от ICC, даже при включении файлов через include в окне "функции" показывались эти файлы с вложенными в них функциями. Скрин сейчас не с чего сделать. В принципе тоже самое, как на последнем скрине выше.
  5. Вопрос по Keil5

    Приветствую всех. Работал раньше с СТМ32 на 4-м кейле. Сейчас в связи с новым камнем поставил 5.18а. Старые проекты были оформлены таким образом, что файлы цеплялись к основному через #include, а не в проект. Мне было так удобно. И все функции вложенных файлов были видны в 4-ке в окне "функции". В 5-ке в этом окне видна только main. Это как-то настраивается?
  6. Шо, опять?! (с) У нас и так анекдот с производителем. Заказали пробную партию у одних. Выяснилось, что у них проблемы с клавиатурой - плохой тактильный эффект, плюс залипания. С рассторойства "муар" проглядели. Шеф дал команду сменить поставщика. Проплатили и спохватились. Теперь вот постоянно общаюсь с конструкторами второго производителя - ищем решение. Пленок у них выбор ограниченный, а вагонных отгрузок мы не обещаем. Сейчас как раз ищут праймер для глянцевых пленок.
  7. До сих пор работал с монохромными дисплеями. При переходе на RGB получил неприятную неожиданность - наклейка-клавиатура на передней панели портит изображение. Пленка матовая, с просветлением прозрачным лаком. Поверхность получается неровной при растекании лака, и картинка (даже не знаю, как русскими словами выразить :) ) смазывается, что ли. Появляются искажения в виде фиолетовой сетки. Игра света - интерференция, дифракция или т.п. Линзы на поверхности пленки. Чешем репу с производителем клавиатур. Матовая пленка ощутимо ухудшает картинку, с глянцевой у них проблемы с нанесением краски - на пуклевке толком не держится. Вырубать окно очень не хочется. Не думаю, что я первый с такой проблемой. Может, есть кто-то, уже ходивший по этим граблям?
  8. Какие уж тут частоты, в статике порты не фиксируются. Я и так уж сейчас до 100 кГц тактовую опустил, и ниже пробовал. Кроме белого экрана ничего нет. Инициализацию нарыл в инете, пишут, рабочая. l //######################################################################### void pause_us (U8 i8) { U8 j8; for (;i8;i8--){ for (j8=3;j8;j8--){NOP();} } } //######################################################################### void write_byte(uint8_t c) { uint8_t i; for(i=0;i<8;i++) { if (c & 0x80) {MOSI1;} else {MOSI0;} pause_us(3); SCK1; c = c<<1; pause_us(3); SCK0; } } //######################################################################### void write_command(uint8_t c) { DC0; pause_us(3); CS0; pause_us(3); write_byte©; pause_us(3); CS1; pause_us(3); } //######################################################################### void write_data(uint8_t c) { DC1; pause_us(3); CS0; pause_us(3); write_byte©; pause_us(3); CS1; pause_us(3); } #define LCD_SendCMD write_command #define LCD_Data8 write_data #define DC0 PORTD&=~BIT(6) #define DC1 PORTD|=BIT(6) #define CS0 PORTB&=~BIT(0) #define CS1 PORTB|=BIT(0) #define RST0 PORTD&=~BIT(5) #define RST1 PORTD|=BIT(5) #define LCD_MEMORY_CONFIG 0xe8 // 270 degrees void new_init (void) { U16 i,j; RST1; //set1( LCD_RESET ); CS1; //set1( LCD_CS ); DC1; //set1( LCD_DC ); delay( 20 ); RST0; //set0( LCD_RESET); delay( 20 ); RST1; //set1( LCD_RESET ); delay( 200 ); LCD_SendCMD( 0x01 ); // reset delay(20); LCD_SendCMD( 0x28 ); // display off LCD_SendCMD( 0xcf ); LCD_Data8( 0x00 ); LCD_Data8( 0x83 ); LCD_Data8( 0x30 ); LCD_SendCMD( 0xed ); LCD_Data8( 0x64 ); LCD_Data8( 0x03 ); LCD_Data8( 0x12 ); LCD_Data8( 0x81 ); LCD_SendCMD( 0xe8 ); LCD_Data8( 0x85 ); LCD_Data8( 0x01 ); LCD_Data8( 0x79 ); LCD_SendCMD( 0xcb ); LCD_Data8( 0x39 ); LCD_Data8( 0x2c ); LCD_Data8( 0x00 ); LCD_Data8( 0x34 ); LCD_Data8( 0x02 ); LCD_SendCMD( 0xf7 ); LCD_Data8( 0x20 ); LCD_SendCMD( 0xea ); LCD_Data8( 0x00 ); LCD_Data8( 0x00 ); LCD_SendCMD( 0xc0 ); //power control LCD_Data8( 0x26 ); LCD_SendCMD( 0xc1 ); //power control LCD_Data8( 0x11 ); LCD_SendCMD( 0xc5 ); //vcom control LCD_Data8( 0x35 ); //35 LCD_Data8( 0x3e ); //3E LCD_SendCMD( 0xc7 ); //vcom control LCD_Data8( 0xbe ); // 0x94 LCD_SendCMD( 0x36 ); // memory access control // LCD_Data8( 0x48 ); // 0 grad orientation LCD_Data8( LCD_MEMORY_CONFIG ); LCD_SendCMD( 0x3a ); // pixel format set LCD_Data8( 0x55 ); //16bit /pixel LCD_SendCMD( 0xb1 ); // frame rate LCD_Data8( 0x00 ); // LCD_Dat h'1B' ; 70 Hz LCD_Data8( 0x13 ); // 100 Hz LCD_SendCMD( 0x2a ); // column set LCD_Data8( 0x00 ); LCD_Data8( 0x00 ); LCD_Data8( 0x00 ); LCD_Data8( 0xEF ); LCD_SendCMD( 0x2b ); // row set LCD_Data8( 0x00 ); LCD_Data8( 0x00 ); LCD_Data8( 0x01 ); LCD_Data8( 0x3F ); LCD_SendCMD( 0x34 ); // tearing effect off LCD_SendCMD( 0xb7 ); // entry mode LCD_Data8( 0x07 ); // LCD_SendCMD( 0xb6 ); // display function ctrl LCD_Data8( 0x0a ); LCD_Data8( 0x82 ); LCD_Data8( 0x27 ); LCD_Data8( 0x00 ); LCD_SendCMD( 0x11 ); // sleep out delay(120); LCD_SendCMD( 0x29 ); // display ON delay(120); addset(0,0); for (i=0;i<320;i++) for (j=0;j<240;j++) { write_data(0x00); write_data(0xff); }
  9. Медленно дурею от модуля с этим контроллером. Или с другим? Купили в Чип-Дипе два модуля: MIKROE-1439 и MIKROE-495. http://www.chipdip.ru/product/mikrotft/ http://www.chipdip.ru/product/me-tft-proto-board/ Если верить Чип-Дипу, то там контроллер HX8347. На сайте производителя сообщают, что контроллер 9341. Пробовал и так, и этак. Добиться чего-либо от них не получилось ни по послед., н по параллельным портам. Самое интересное - взвожу RST, WR, опускаю RD - порты модуля как выходы не конфигурируются. В SPI режиме тоже самое - когда модулю положено отвечать, SDA в z-состоянии. Едва ли оба модуля мертворожденные. Питаю от 3.3 В, щупаю атмегой 128 с тем же питанием.
  10. Не победил, но обошел :laughing: В опциях проекта выделил верхнюю область памяти (0х10000.0х1Е000, дальше у меня бут-лодер, оформленный отдельным проектом). В эту область переместил большинство своих процедур. Таким образом освободилось место в нижней половине памяти для библиотечных функций (злополучная elpm32).
  11. Даже не может, а наверняка. Проблема в том, что архитектура AVR предполагает наличие только 2-байтных указателей(максимально адресуется 64 к). Когда появилась 128-я мега, разрядность счетчик команд увеличили, а указателей - невозможно. А я пока не могу угадать, когда компилятор пытается что-то грузить из флэша. То ли все же какие-то константы грузит, то ли таблицы переходов.
  12. ICC6.31a Professional Atmega128. Исходный код разросся и при компиляции выскочила ошибка: 'text' area too large (>64K byte) и предложение перенести часть кода в другой файл. Заполнение 55%. Подергавшись и ничего не добившись, решил перекомпилировать на ICC7. На некоторое время помогло (просто объем выходного кода чуть уменьшился). Сейчас опять та же проблема (заполнение 57%). Осознаю, что компилятор не может осилить константы в верхней половине памяти. Поэтому переделал код таким образом, что все строковые константы расположил в начале, а доступ к ним - из одной-единственной подпрограммы. Не помогает. При анализе ассемблера нашел внутреннюю процедурку elpm32. Вставляется ближе к концу файла. Похоже, что она мне жизнь и отравляет. Победить как-нибудь можно? В настройках проекта пробовал и разрешать, и запрещать RAMPZ/ELPM - без толку.
  13. Вот еще проблема с ICC6.31a. Все та же 128-я мега. После увеличения размера кода пошла ругань вида: 'text' area too large (>64K byte) и предложение перенести часть кода в другой файл. При чем здесь 64кБайт? Именно килобайт, а не килослов. Если закомментировать небольшую часть кода, то нормально компилится с результатом 55%. Версия "Professional".
×
×
  • Создать...