Там нет ошибок. Там только "вонинги" - предупреждения. Часть из них о том, что функции написаны, но не используются, а часть предупреждает о том что надо бы заменить названия переменных с "int" на "long". Это из особенностей применения языка Си. В моем случае я настроил проект так, что "int" автоматически подразумевается "unsigned int" Это где то в свойствах проекта выставляется галочкой. А так оно должно скомпилировать проект даже с этими предупреждениями.
su9 писал(а):ILI9320 - все работает отлично кроме этих функций - не рисует линии и точки
Так дистанционно сложно сказать. Пришли мне файл "ILI9325.h" а заодно и файл с функцией "main" из твоего проекта. И менял ли ты там что нибудь? И если менял то что?
И что значит "больное место"? Непонятен процесс вывода точки, символа......? Или что другое "болит"?
su9 писал(а):ILI9320 - все работает отлично кроме этих функций - не рисует линии и точки
Для начала поправь инициализацию дисплея. Убери строчку SetReg(0xe5,0x8000); такого регистра нет в этом контроллере, и измени значение SetReg(0x60,0xa700); на SetReg(0x60,0x2700); И если первое действие ни на что не влияет, просто убираем лишнюю строку, то второе изменяет начало адресуемой области памяти экрана.
Нет, не в этом дело, инициализацию ILI9320, ILI9481, SSD1963 и SPFD5420 знаю как отче наш и все они у меня нормально работают на простых Мегах и STM32F103Rxxx. Скорее всего дело в стекляшке made in поднебесная. Ранее попадался подобный экземпляр который рисовал вертикальные линии только в два пикселя.
Конечно"стекляшки made in поднебесная" добавляют головняков иногда. Будем побеждать. Посмотрел код. Все нормалек, должен работать. И я все же настаиваю на том, чтобы ты изменил значение регтстра R60h при инициализации, несмотря на "отченаш". Установленное тобою значение меняет положение начала отсчета координат, и в совокупности с другими настройками может влиять на положение точек. Ну и еще как вариант полностью замени свой файл ILI9320.h на мой ILI9325.h без каких либо правок. Ну и в майне инклюд поменять не забудь. И отпишись.
Все перепробовал - только на на уши не смог встать, слаб. Put_Line не хочет работать куда и как не выводи!
Эта же стекляшка почему то выполняет все команды на Меге и STM с той же инициализацией - к чему бы это?
Нет. пытается нарисовать прямоугольник . с фонтами и картинками все нормально
ругается на - const int deltaX = abs(x2 - x1); - abs его не устраивает
буду искать дальше...
Последний раз редактировалось su9 Пт мар 22, 2013 19:46:40, всего редактировалось 2 раза.
Посмотрел посверял покомпилировал еще раз код и пришел к выводу что все должно работать. А если не работает, то надо к китайцам за бубном. У меня сейчас дисплея с таким контроллером нет и проверить не смогу. Но ведь раньше то он у меня работал. Можно попробовать поменять функцию Put_Pixel() на вот такую:
//=========
void Put_Pixel(unsigned int x,unsigned int y,unsigned int color)
{
WrCmd(0x20); WrDat(x);
WrCmd(0x21); WrDat(y);
WrCmd(0x22); WrDat(color);
}
//=========
Хотя там все то же, только через вызовы других подпрограмм. Может что теряется при вызовах. Попробуй.
Мне понравилось. Искал что-то подобное. Хочу повторить, но использовать как чисто модуль отображения информации. Приём, обработку сигналов, вычисления проводить на sam7a3 (модуль обработки). Оба модуля (обработки и отображения) связать по SPI. А сам экранчик с контролером тоже на Жданах брали или где-то заказывали ?