- Clip_9.jpg
- (193.9 КБ) 582 скачивания
Малогабаритный микроконтроллерный модуль "MiniMother AVR"
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Можно ли подправить исходник - не рисует примитивы и заполнение?
А на каком контроллере дисплей? И какие именно функции он не выполняет?
Просто сейчас у меня нет дисплейчиков с некоторыми контроллерами и проверить будет сложновато. Но тем не менее постараюсь разобраться.
Общаюсь на ТЫ. Без расшаркиваний.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
как быть?
- Вложения
-
- Clip_9.jpg
- (193.9 КБ) 523 скачивания
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
ILI9320 - все работает отлично кроме этих функций - не рисует линии и точки
- Вложения
-
- 03RAB.RAR
- (969.18 КБ) 252 скачивания
Последний раз редактировалось su9 Чт мар 21, 2013 20:10:07, всего редактировалось 1 раз.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Там нет ошибок. Там только "вонинги" - предупреждения. Часть из них о том, что функции написаны, но не используются, а часть предупреждает о том что надо бы заменить названия переменных с "int" на "long". Это из особенностей применения языка Си. В моем случае я настроил проект так, что "int" автоматически подразумевается "unsigned int" Это где то в свойствах проекта выставляется галочкой. А так оно должно скомпилировать проект даже с этими предупреждениями.
Общаюсь на ТЫ. Без расшаркиваний.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
с компиляцией проблем нет, просто графика мое больное место.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
su9 писал(а):ILI9320 - все работает отлично кроме этих функций - не рисует линии и точки
Так дистанционно сложно сказать. Пришли мне файл "ILI9325.h" а заодно и файл с функцией "main" из твоего проекта. И менял ли ты там что нибудь? И если менял то что?
И что значит "больное место"? Непонятен процесс вывода точки, символа......? Или что другое "болит"?
Общаюсь на ТЫ. Без расшаркиваний.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
ничего не менялось - проект в личку - здесь что то не заходит
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
su9 писал(а):ILI9320 - все работает отлично кроме этих функций - не рисует линии и точки
Для начала поправь инициализацию дисплея. Убери строчку SetReg(0xe5,0x8000); такого регистра нет в этом контроллере, и измени значение SetReg(0x60,0xa700); на SetReg(0x60,0x2700); И если первое действие ни на что не влияет, просто убираем лишнюю строку, то второе изменяет начало адресуемой области памяти экрана.
Общаюсь на ТЫ. Без расшаркиваний.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Нет, не в этом дело, инициализацию ILI9320, ILI9481, SSD1963 и SPFD5420 знаю как отче наш и все они у меня нормально работают на простых Мегах и STM32F103Rxxx. Скорее всего дело в стекляшке made in поднебесная. Ранее попадался подобный экземпляр который рисовал вертикальные линии только в два пикселя.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Конечно"стекляшки made in поднебесная" добавляют головняков иногда. Будем побеждать. Посмотрел код. Все нормалек, должен работать. И я все же настаиваю на том, чтобы ты изменил значение регтстра R60h при инициализации, несмотря на "отченаш". Установленное тобою значение меняет положение начала отсчета координат, и в совокупности с другими настройками может влиять на положение точек. Ну и еще как вариант полностью замени свой файл ILI9320.h на мой ILI9325.h без каких либо правок. Ну и в майне инклюд поменять не забудь. И отпишись.
Общаюсь на ТЫ. Без расшаркиваний.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Все перепробовал - только на на уши не смог встать, слаб. Put_Line не хочет работать куда и как не выводи!
Эта же стекляшка почему то выполняет все команды на Меге и STM с той же инициализацией - к чему бы это?
Эта же стекляшка почему то выполняет все команды на Меге и STM с той же инициализацией - к чему бы это?
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
В основе команды Put_Line лежит Put_Pixel . Работает ли она? Синусоиду рисует?
Попробуй заменить функцию Put_Line на такую:
//=========
// Рисуем линию (алгоритм Брезенхема)
//=========
void Put_Line_2(int x1,int y1,int x2,int y2,int color) //обрати внимание что имя отличается!!!
{ //Закомментить старую и поправить имя.
const int deltaX = abs(x2 - x1);
const int deltaY = abs(y2 - y1);
const int signX = x1 < x2 ? 1 : -1;
const int signY = y1 < y2 ? 1 : -1;
//
int error = deltaX - deltaY;
const int error2 = error * 2;
//
Put_Pixel(x2, y2, color);
while(x1 != x2 || y1 != y2)
{
Put_Pixel(x1, y1, color);
//
if(error2 > -deltaY)
{
error -= deltaY;
x1 += signX;
}
if(error2 < deltaX)
{
error += deltaX;
y1 += signY;
}
}
}
Попробуй заменить функцию Put_Line на такую:
//=========
// Рисуем линию (алгоритм Брезенхема)
//=========
void Put_Line_2(int x1,int y1,int x2,int y2,int color) //обрати внимание что имя отличается!!!
{ //Закомментить старую и поправить имя.
const int deltaX = abs(x2 - x1);
const int deltaY = abs(y2 - y1);
const int signX = x1 < x2 ? 1 : -1;
const int signY = y1 < y2 ? 1 : -1;
//
int error = deltaX - deltaY;
const int error2 = error * 2;
//
Put_Pixel(x2, y2, color);
while(x1 != x2 || y1 != y2)
{
Put_Pixel(x1, y1, color);
//
if(error2 > -deltaY)
{
error -= deltaY;
x1 += signX;
}
if(error2 < deltaX)
{
error += deltaX;
y1 += signY;
}
}
}
Последний раз редактировалось Alex62 Пт мар 22, 2013 19:18:25, всего редактировалось 3 раза.
Общаюсь на ТЫ. Без расшаркиваний.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Нет. пытается нарисовать прямоугольник . с фонтами и картинками все нормально
ругается на - const int deltaX = abs(x2 - x1); - abs его не устраивает
буду искать дальше...
ругается на - const int deltaX = abs(x2 - x1); - abs его не устраивает
буду искать дальше...
Последний раз редактировалось su9 Пт мар 22, 2013 19:46:40, всего редактировалось 2 раза.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Значит тут и проблема. При выводе изображений Put_Pixel() не используется. Смотрю дальше.
Общаюсь на ТЫ. Без расшаркиваний.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Подключи #include <MATH.H>
Общаюсь на ТЫ. Без расшаркиваний.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Alex62 писал(а):Подключи #include <MATH.H>
он на месте, я его не убирал
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Посмотрел посверял покомпилировал еще раз код и пришел к выводу что все должно работать. А если не работает, то надо к китайцам за бубном. У меня сейчас дисплея с таким контроллером нет и проверить не смогу. Но ведь раньше то он у меня работал.
Можно попробовать поменять функцию 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);
}
//=========
Хотя там все то же, только через вызовы других подпрограмм. Может что теряется при вызовах. Попробуй.
Можно попробовать поменять функцию 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);
}
//=========
Хотя там все то же, только через вызовы других подпрограмм. Может что теряется при вызовах. Попробуй.

Общаюсь на ТЫ. Без расшаркиваний.
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
Мне понравилось. Искал что-то подобное. Хочу повторить, но использовать как чисто модуль отображения информации. Приём, обработку сигналов, вычисления проводить на sam7a3 (модуль обработки). Оба модуля (обработки и отображения) связать по SPI. А сам экранчик с контролером тоже на Жданах брали или где-то заказывали ?
Re: Малогабаритный микроконтроллерный модуль "MiniMother AVR
На Жданах, конечно. Недавно за такой 60 000 зайцев отдал. 
А что ж такого вычислять то надо, что аж целый ARM прикрутить решил?
А что ж такого вычислять то надо, что аж целый ARM прикрутить решил?
Общаюсь на ТЫ. Без расшаркиваний.