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

А, тогда не так. Тогда вот так:

  for (h=0; h<CHAR_H*m; h++) // every column of the character
 {       
      if (rot==1)
         ch=ascii_tab[ c-32 ][h/m];   
         else
         ch=ascii_tab[ c-32 ][CHAR_H-h/m];

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я бросил идею размножать символы - и просто нарисовал отдельный знакогенератор (правда, в моём приложении были только цифры, точка и пробел). Знакогенератор рисую в bmp - потом простой программой - "зубочисткой" (по классификации Керинигана) - преобразую в исходник массива. Кому надо - тексты (управление RD0154 - с микросхемой UltraChip uc1601s) лежит вот тут:

http://forum.cqham.ru/viewtopic.php?t=22912

Исходники преобразователя .bmp -> .c выложу здесь, если надо.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я бросил идею размножать символы

Аналогично. Но я не стал изобретать велосипеда, потому что нашёл отличный конвертер виндовых шрифтов (FontEditor_BitmapConverter.zip). Пример использования - здесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Классный шрифт, конечно надо.

Вот архив с программой.

И тот файл с картинкой, по которому генерируется знакогенератор.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

...

//Меню

mode = m_main;

 

while (1)

{

// Place your code here

if (PINC.7 == 0) {

mode++;

if (mode == 4) mode = 0;

if (PINC.6 == 0) mode = 0;

};

 

if (mode == m_main) {

fill_area(3,155,3,128,0x01FF);

 

//Часы

put_string(29,32,txt4,textcolor,0x01FF,0,3);

put_string(76,47,txt6,textcolor,0x01FF,0,1);

put_string(86,32,txt4,textcolor,0x01FF,0,3);

 

put_string(73,25,txt4,textcolor,0x01FF,0,1);

};

 

if (mode == m_term) {

fill_area(3,155,3,128,0x02FF);

 

sprintf( LcdBuffDevices,"%d", devices,1 ); delay_ms(50);

 

//выводим информацию о кол-ве датчиков

put_string(76,4,LcdBuffDevices,BLACK,0,1); //кол-во датчиков

};

};

};

...

 

Я конечно понимаю, что у меня все завязано в цикле, но по другому я не знаю как сделать смену страниц. Подскажите пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

s128 конечно вещ хорошая но лучше бы вы s256 взяли. я с ним работал только потому что в моей деревне единственное что из армов удалось достать. хотел выяснить на что этот зверь способен.

IDE - Keil uVision4

исходники забирайте. только там черт ногу сломит :) добро пожаловать в мой творческий ад. "самое то" для тех кто недавно начал заниматься контроллерами.ls020_keil_13.03.2011_backup.zip

 

Повторно заказал AT91SAM7S128, т.к. первый пошел на программатор. Как ранее писал, хочу вместо LS020 подключить LPH8836 у меня есть LS020 но он стоит в планах на осцилограф "Хамелеон", хотелось бы первоначально попробовать работу вашего проекта с этим дисплеем а потом уже переделывать на LPH8836.

Схему устройства, если есть конечно, не могли бы прислать? А также хочу спросить в настоящее время звук реализован или нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Влом читать полностью тему, поэтому может быть повторюсь:

на первых 15 страницах темы была проблема со скоростью отображения вследствии недостаточной скорости SPI.

 

Так вот, что если МК поставить в качестве ведомого устройства а на SPI подавать внешние синхроимпульсы.. ну скажем около 26Мгц должно хватить.

В режиме Слейва МК может обмениваться данными в разы быстрее режима Мастера... (при чем SPI может никак не влиять на внутренние процессы МК и не быть с ними синхронизирован).

 

Сам откопал дисплей от 2610 Нокиа, там SPI, буду пробовать подключить к АТмеге16 в таком варианте.

 

 

 

Изменено пользователем Solovass

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сам откопал дисплей от 2610 Нокиа, там SPI, буду пробовать подключить к АТмеге16 в таком варианте.

 

А новый дисплей оказался без точек для припайки на шлейфе... У Вас такой же или с точками? Или я не там ищу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вот, что если МК поставить в качестве ведомого устройства а на SPI подавать внешние синхроимпульсы.. ну скажем около 26Мгц должно хватить.

В режиме Слейва МК может обмениваться данными в разы быстрее режима Мастера... (при чем SPI может никак не влиять на внутренние процессы МК и не быть с ними синхронизирован).

Это что то из области фантастики. Вот цитата из даташита на Mega16

In SPI Slave mode, the control logic will sample the incoming signal of the SCK pin. To ensure

correct sampling of the clock signal, the minimum low and high periods should be:

Low periods: longer than 2 CPU clock cycles.

High periods: longer than 2 CPU clock cycles

Т.е. в режиме Slave частота сигнала на CLK выводе должна быть не более F_CPU/4. И поэтому чтобы тактировать SPI-Slave внешними 26 МГц, ядро должно работать как минимум на 26*4=104 МГц (при максимально-допустимых 16 МГц для данного типа МК). Плюс к тому Mega не имеет DMA, поэтому данные придётся выплёвывать на MISO либо в прерываниях, либо используя поллинг. В общем возникнут большие задержки (относительно частоты CLK) между передачами байтов. И я могу гарантировать то, что Вы никогда не получите бОльшее быстродействие в режиме SPI-Slave, чем в режиме SPI-Master.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте, дорогие эксперты!

Имею дисплеи от Nokia 6260 и жгучее желание использовать их в самоделках. Кто то имеет инфу как им управлять? Распиновка вопросов не вызывает, а вот байты инициализации, организация и прочее...

Ещё он же применялся в нокиях 7610/ 7600/ 6260/ 6630/ 6670/ 3230. И я так подозреваю N70/ N71/ N72 почти то же самое

Всем спасибо :1111493779:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

Так вот, что если МК поставить в качестве ведомого устройства а на SPI подавать внешние синхроимпульсы.. ну скажем около 26Мгц должно хватить.

...

Недостаточно просто реализовать быстрый обмен, МК должен быть сам по себе быстрым, чтобы успевать готовить нужные данные.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте, дорогие эксперты!

Имею дисплеи от Nokia 6260 и жгучее желание использовать их в самоделках. Кто то имеет инфу как им управлять? Распиновка вопросов не вызывает, а вот байты инициализации, организация и прочее...

Ещё он же применялся в нокиях 7610/ 7600/ 6260/ 6630/ 6670/ 3230. И я так подозреваю N70/ N71/ N72 почти то же самое

Всем спасибо :1111493779:

 

Вот здесь есть информация по этим дисплеям http://vrtp.ru/index.php?showtopic=1120&am...mp;#entry345911 только контроллер 32 битный надо будет применять, 8 битные не смогут быстро работать с ними.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...