реклама на сайте
подробности

 
 
> SED1335,PIC18F4550 и LCD320x240, разбираем по косточкам модуль SED1335.c
andreichk
сообщение Jan 25 2008, 21:00
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



Привет народ.Вот решил я слепить себе нечто из указанных в теме компонентов.Нарисовал и изготовил макетку, красиво всё распаял и написал из надёрганных в сети кусков маленькую програмку для управления ЖКИ. Вначале, после нудного изучения даташитов никак не мог инициализировать ЖКИ, но потом разобрался что к чему и наконец он начал подавать признаки жизни и засветился.
Компилятор, который я пользую - CCS, имеет в своём составе файл SED1335.C , но как я не пытался приспособить его, так и не смог.Порывшись в сети,я нашёл другой файл с таким же названием, но вроде бы не для ПИКов, а для чего-то другого.Однако , слегка подшаманив его, я смог встроить его в прогу и он заставил таки выдавать на экран символы в текстовом режиме(даже с возможностью размещения в заданое место) и переключаться в графический режим.
И на этом всё и закончилось.
Все попытки нарисовать линию или круг или просто точку,несмотря на множество примеров, я так и не смог. Позаимствовав из старого файла процедуру

void glcd_pixel(int16 x, int16 y, int1 color)
{
int8 data;
int16 addr;
// Calculate the byte address containing the pixel
addr = GLCD_GRAPHICS_ADDR + (GLCD_WIDTH/8 * y + x/8);
// Read the byte of data at the address
data = getData(addr);
// Turn the pixel on or off
if(color == ON)
bit_set(data, 7 - x%8);
else
bit_clear(data, 7 - x%8);
// Write the new data byte to display memory
setData(addr, data);
}


я попробовал нарисовать на экране пиксель, но он вроде как нарисовался но разместился не в тех координатах, которые я указывал.Как я понимаю, за размещение отвечает строка
//GLCD_GRAPHICS_ADDR- нач. адрес- 1200, GLCD_WIDTH- кол во символов в строке- 320
addr = GLCD_GRAPHICS_ADDR + (GLCD_WIDTH/8 * y + x/8);
Может кто из вас раскомментирует эту странную формулу и подправит её, если она неправильная.

Сообщение отредактировал andreichk - Jan 25 2008, 21:03


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andreichk
сообщение Mar 24 2008, 17:05
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



а скажите мне, преобразование Фурье к осциллографу имеет применение?

нашёл вот в сети какой-то страшенный код.Скажите, это оно? И что с ним делать?

Цитата
/*************************************************************************
Быстрое преобразование Фурье

Алгоритм проводит быстрое преобразование Фурье комплексной
функции, заданной nn отсчетами на действительной оси.

В зависимости от переданных параметров, может выполняться
как прямое, так и обратное преобразование.

Входные параметры:
nn - Число значений функции. Должно быть степенью
двойки. Алгоритм не проверяет правильность
переданного значения.
a - array [0 .. 2*nn-1] of Real
Значения функции. I-ому значению соответствуют
элементы a[2*I] (вещественная часть)
и a[2*I+1] (мнимая часть).
InverseFFT
- направление преобразования.
True, если обратное, False, если прямое.

Выходные параметры:
a - результат преобразования. Подробнее см.
описание на сайте.
*************************************************************************/
void fastfouriertransform(char *a,int nn,char inversefft)
{
int ii = 0;
int jj = 0;
int n = 0;
int mmax = 0;
int m = 0;
int j = 0;
int istep = 0;
int i = 0;
int isign = 0;
double wtemp = 0;
double wr = 0;
double wpr = 0;
double wpi = 0;
double wi = 0;
double theta = 0;
double tempr = 0;
double tempi = 0;

if( inversefft )
{
isign = -1;
}
else
{
isign = 1;
}
n = 2*nn;
j = 1;
for(ii=1; ii<=nn; ii++)
{
i = 2*ii-1;
if( j>i )
{
tempr = a[j-1];
tempi = a[j];
a[j-1] = a[i-1];
a[j] = a[i];
a[i-1] = tempr;
a[i] = tempi;
}
m = n/2;
while( m>=2 & j>m )
{
j = j-m;
m = m/2;
}
j = j+m;
}
mmax = 2;
while( n>mmax )
{
istep = 2*mmax;
theta = 2*PI/(isign*mmax);
wpr = -(2.0*sqrt(Sin(0.5*theta)));
wpi = Sin(theta);
wr = 1.0;
wi = 0.0;
for(ii=1; ii<=mmax/2; ii++)
{
m = 2*ii-1;
for(jj=0; jj<=(n-m)/istep; jj++)
{
i = m+jj*istep;
j = i+mmax;
tempr = wr*a[j-1]-wi*a[j];
tempi = wr*a[j]+wi*a[j-1];
a[j-1] = a[i-1]-tempr;
a[j] = a[i]-tempi;
a[i-1] = a[i-1]+tempr;
a[i] = a[i]+tempi;
}
wtemp = wr;
wr = wr*wpr-wi*wpi+wr;
wi = wi*wpr+wtemp*wpi+wi;
}
mmax = istep;
}
if( inversefft )
{
for(i=1; i<=2*nn; i++)
{
a[i-1] = a[i-1]/nn;
}
}
}


Сообщение отредактировал andreichk - Mar 24 2008, 17:37


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- andreichk   SED1335,PIC18F4550 и LCD320x240   Jan 25 2008, 21:00
- - andreichk   Ура !!! Заработало !!! Под...   Jan 27 2008, 04:06
|- - arizona   Цитата(andreichk @ Jan 27 2008, 07:06) Те...   Jan 28 2008, 07:38
|- - andreichk   Цитата(arizona @ Jan 28 2008, 08:38) посм...   Jan 28 2008, 18:26
- - andreichk   Сегодня закончил оформление внешнего вида. Нарисов...   Jan 29 2008, 22:32
|- - DL36   Цитата(andreichk @ Jan 30 2008, 02:32) Се...   Feb 1 2008, 10:15
- - andreichk   Хочу попробовать перенести все картинки в последов...   Jan 31 2008, 19:18
- - andreichk   Слепил сегодня процедурку рисования кривых.Теперь ...   Feb 4 2008, 23:07
|- - FDA   Вот готовый видеоконтроллер для управления ЖКИ на ...   Feb 7 2008, 13:29
- - andreichk   вы мне его уже предлагали, только за деньги я и са...   Feb 7 2008, 16:40
- - Itch   А почему у вас экран малинового цвета, это пленка ...   Feb 7 2008, 21:40
- - andreichk   да цвет любой можно сотворить- плёночку цветную по...   Feb 8 2008, 09:31
- - Itch   китайские сайты нормально читаются через http://ba...   Feb 8 2008, 18:29
- - andreichk   Выяснил причину по которой HEX-файл неполностью за...   Feb 10 2008, 17:41
- - andreichk   частота 88 Гц, амплитуда 2.15 вольт   Feb 11 2008, 22:39
- - andreichk   Попытки записи массива типа const byte mS_uS[] ...   Feb 17 2008, 22:31
- - andreichk   да, не густо тут помошников.....   Feb 20 2008, 17:50
- - andreichk   ещё одно фото для истории. двухканальный вариант,п...   Feb 20 2008, 23:20
- - andreichk   проблема рисования синусоиды половинками решена до...   Feb 23 2008, 15:32
- - andreichk   Ура !!! Удалось засинхронизироать кар...   Feb 25 2008, 22:22
|- - Илья   Поздравляю, картинка, конечно красивая, но меня во...   Feb 26 2008, 07:52
|- - andreichk   Цитата(Илья @ Feb 26 2008, 08:52) Поздрав...   Feb 26 2008, 17:54
- - andreichk   У меня сегодня день рождения. Спасибо всем за позд...   Feb 27 2008, 14:29
- - andreichk   сегодня попробовал подать на вход меандр от кварце...   Feb 27 2008, 20:02
- - andreichk   Прошу помощи по теме Дело такое, надо мне от шифра...   Mar 2 2008, 13:44
|- - Илья   Насколько я понимаю нужно дождаться перехода из ни...   Mar 3 2008, 03:27
- - andreichk   Спасибо, я попробую как вы советуете и отпишусь   Mar 3 2008, 14:34
- - andreichk   попробовал предложенный код.Он работает,только не ...   Mar 3 2008, 15:57
- - andreichk   код работает с небольшой доделкой и понижением час...   Mar 3 2008, 21:44
- - andreichk   вот такое у меня ещё пожелание(чувствую, что без п...   Mar 4 2008, 18:56
|- - Илья   Извиняюсь за задержку с ответом - праздники, даже ...   Mar 11 2008, 02:50
|- - Transon   Это самая лучшая разработка одного человека какую ...   Mar 12 2008, 13:18
- - andreichk   Спасибо всем ответившим и помогающим.Не надо извин...   Mar 13 2008, 19:02
- - andreichk   Кодunsigned char XX; // переменная которая будет и...   Mar 13 2008, 20:26
|- - Илья   Цитата(andreichk @ Mar 14 2008, 04:26) Ко...   Mar 14 2008, 10:41
- - andreichk   дело в том , что момент отжатия невозможно установ...   Mar 15 2008, 10:12
|- - Илья   Цитата(andreichk @ Mar 15 2008, 18:12) де...   Mar 15 2008, 12:14
- - andreichk   перекидывать ножки на порт РВ как-то не очень хоче...   Mar 15 2008, 12:50
|- - Илья   Так... насколько я понял компилятор у вас CCS - ...   Mar 15 2008, 17:18
- - andreichk   частота 40 МГц. ни один из трёх таймеров не задейс...   Mar 15 2008, 18:53
|- - Илья   Хорошо. Теперь приступим: Возьмем за базу TMR0, у ...   Mar 16 2008, 07:27
- - andreichk   компилятор не хочет это признавать TMR0IF=0;// Очи...   Mar 16 2008, 11:15
|- - Илья   Цитата(andreichk @ Mar 16 2008, 19:15) ко...   Mar 16 2008, 12:55
- - andreichk   пробую так его прописать set_timer0(0); // TMR0IF=...   Mar 16 2008, 14:49
- - Илья   Ну ладно, удачи, все способы полезны - главное, чт...   Mar 16 2008, 16:00
- - andreichk   вот такой вид приняла означенная процедура опроса...   Mar 16 2008, 20:14
- - andreichk   Чего-то ни одной умной мысли не лезет в голову, на...   Mar 19 2008, 20:46
|- - Илья   Цитата(andreichk @ Mar 20 2008, 04:46) Че...   Mar 20 2008, 03:56
- - andreichk   if( xx >= 255 ) xx = xx - 255; //приводим к int...   Mar 20 2008, 18:36
- - andreichk   кстати вопрос имею- чем два раза IF лучше одного S...   Mar 20 2008, 19:53
|- - Илья   Цитатаif( xx >= 255 ) xx = xx - 255; //приводим...   Mar 21 2008, 03:07
- - andreichk   вначале буфер был размером в 512 кб и всё как раз ...   Mar 21 2008, 11:25
|- - Илья   Цитата(andreichk @ Mar 21 2008, 19:25) ОК...   Mar 21 2008, 12:23
- - andreichk   не вопрос- научусь в Гугль видео выкладывать- обяз...   Mar 21 2008, 13:55
|- - Илья   Цитата(andreichk @ Mar 21 2008, 21:55) Ту...   Mar 21 2008, 15:50
- - andreichk   я про такое даже не слышал, поэтому просто нарисов...   Mar 22 2008, 00:59
|- - Илья   Цитата(andreichk @ Mar 22 2008, 08:59) я ...   Mar 22 2008, 01:58
- - andreichk   линии, прямоугольники и кружки рисовать умеем, а ш...   Mar 22 2008, 08:27
|- - Илья   Цитаталинии, прямоугольники и кружки рисовать умее...   Mar 22 2008, 13:53
|- - andreichk   Цитата(Илья @ Mar 22 2008, 14:53) Я сам л...   Mar 22 2008, 14:31
|- - Илья   Вот, собственно, у меня получилась такая процедурк...   Mar 23 2008, 04:32
- - andreichk   прямоугольник и видеосигнал   Mar 22 2008, 10:32
- - Шпиндель   Посмотрел с интересом, спасибо! Через время.. ...   Mar 22 2008, 18:27
|- - andreichk   Цитата(Шпиндель @ Mar 22 2008, 19:27) Пос...   Mar 23 2008, 13:41
|- - Илья   Цитата(andreichk @ Mar 23 2008, 21:41) Ок...   Mar 23 2008, 14:59
- - alexsl   to andreichk. Добрый день. Уменя вопрос по схемоте...   Mar 22 2008, 20:23
- - andreichk   X-256, Y-239   Mar 23 2008, 15:13
|- - Илья   Цитата(andreichk @ Mar 23 2008, 23:13) X-...   Mar 24 2008, 05:52
|- - andreichk   c небольшой доработкой,приданием ей ещё бОльшей ун...   Mar 24 2008, 12:24
|- - Илья   Цитата(andreichk @ Mar 24 2008, 20:24) c ...   Mar 24 2008, 14:33
|- - Илья   Цитата(andreichk @ Mar 25 2008, 01:05) а ...   Mar 25 2008, 05:58
- - andreichk   искал что-нибудь по теме почитать- наткнулся на эт...   Mar 24 2008, 19:19
- - andreichk   Ок , оставим пока товарища Фурье в сторонке покури...   Mar 25 2008, 17:09
|- - Илья   Цитата(andreichk @ Mar 26 2008, 01:09) Чт...   Mar 26 2008, 02:34
- - andreichk   на АЦП подаётся фиксированная частота оцифровки 80...   Mar 27 2008, 17:34
|- - Илья   Цитата(andreichk @ Mar 28 2008, 01:34) А ...   Mar 29 2008, 05:45
|- - andreichk   ЦитатаА раньше (до изменения программы) такое случ...   Mar 29 2008, 09:27
|- - Илья   Цитата(andreichk @ Mar 29 2008, 17:27) ad...   Mar 29 2008, 12:10
|- - andreichk   Цитата(Илья @ Mar 29 2008, 13:10) Чтобы э...   Mar 30 2008, 09:34
|- - Илья   Цитата(andreichk @ Mar 30 2008, 17:34) Ок...   Mar 30 2008, 10:06
|- - andreichk   есть такое дело Цитата.................... //----...   Mar 30 2008, 10:10
|- - Илья   Цитата(andreichk @ Mar 30 2008, 18:10) ес...   Mar 30 2008, 11:00
|- - andreichk   Цитата(Илья @ Mar 30 2008, 12:00) Да, это...   Mar 30 2008, 11:05
|- - Илья   Цитата(andreichk @ Mar 30 2008, 19:05) за...   Mar 30 2008, 11:26
- - andreichk   ну это понятно, что перепишется.А как это связано ...   Mar 30 2008, 11:39
|- - Илья   Цитата(andreichk @ Mar 30 2008, 19:39) ну...   Mar 30 2008, 11:58
|- - andreichk   ЦитатаА при какой частоте тактирования FIFO они во...   Mar 30 2008, 13:03
|- - Илья   Цитата(andreichk @ Mar 30 2008, 21:03) LA...   Mar 30 2008, 13:16
- - andreichk   можно написать так #asm BSF F8B.2 //L...   Mar 30 2008, 13:38
|- - Илья   Цитата(andreichk @ Mar 30 2008, 21:38) мо...   Mar 30 2008, 15:02
- - andreichk   написал так, ошибок нет,но экран тухнет через пару...   Mar 30 2008, 15:19
|- - Илья   Цитата(andreichk @ Mar 30 2008, 23:19) на...   Mar 30 2008, 15:31
- - andreichk   в самом прямом смысле тухнет.Пропадает не только л...   Mar 30 2008, 15:33
|- - Илья   Цитата(andreichk @ Mar 30 2008, 23:33) в ...   Mar 30 2008, 15:50
- - andreichk   вот этой *ptr++=input_b(); //чтение порта В ну тог...   Mar 30 2008, 15:59
|- - Илья   Цитата(andreichk @ Mar 30 2008, 23:59) во...   Mar 30 2008, 16:04
- - andreichk   Цитата.................... //#####################...   Mar 30 2008, 16:27
|- - Илья   Цитата(andreichk @ Mar 31 2008, 00:27) вс...   Apr 1 2008, 11:07
- - andreichk   Илья, я уже запутался, что куда вписывать, сделайт...   Apr 1 2008, 11:44
5 страниц V   1 2 3 > » 


Closed TopicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01476 секунд с 7
ELECTRONIX ©2004-2016