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

Недавно появилось свобордное время, написал прогу для передачи картинки 132x176 с компа в контроллер для вывода на дисплей, передача через виртуальный com порт (на FT232), работает на скорости 2 мегабита в секунду, оказывается экранчик, несмотря на жалобы некоторых, весьма неплохо отображает картинку, раньше недувалось оценить это, ввиду отсутствия контроллера с большим объемом памяти (хотя на мой взгляд, информацию, не относящуюся к коду, рамещать в контроллеере нецелесообразно, но скорось тут похоже критична, попробую найти время поработать с SD картами, возможно удастся рационально решить проблему передачи картинки с карты памяти в дисплей, сейчас мне судить сложно, поскольку с картами памяти не работал, имею только общее представление, но есть одна задумка)

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


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

Тоже на днях начал писать свою библиотеку для SD карт. Юзаю Мегу16 + CVAVR. Написал небольшую библиотеку для чтения одного файла с карты с ФАТ16. Читает норм, но когда вешаю дисплей вместе с картой на спи, ничего не работает толком. Дисплей инициализируется, карта нет. Говорили что дисплей даже при поднятом CS принимает данные?.. Может карту на софт спи повесить?

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


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

Карту на софтовый SPI лутче не вешать, так-как он там двунаправленый. А вот дисплей на софтовый SPI повесить... думаю будет в самый раз. Сам щя хочю пробовать пересадить дисплей на софтовый СПИ, говорят он вроде быстрее апаратного.

PS А вообще идея с SD картой очень неплохая, жаль что в наличие только MMC :(.

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

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


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

...Сам щя хочю пробовать пересадить дисплей на софтовый СПИ, говорят он вроде быстрее апаратного.

Софтовый SPI медленнее аппаратного. На аппаратном SPI можно достичь скорости, равной половине тактовой частоты микроконтроллера, а на софтовом так не получится.

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


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

Сори за оффтоп, поможет кто нибудь с программным СПИ ? Нашел исходник под ПИК, но он не работает. Заранее спс.

 

Сори за оффтоп, поможет кто нибудь с программным СПИ ? Нашел исходник под ПИК, но он не работает. Заранее спс.

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


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

Сори за оффтоп, поможет кто нибудь с программным СПИ ? Нашел исходник под ПИК, но он не работает. Заранее спс.

Software SPI Master

AVR320: Software SPI Master

http://avr-asm.tripod.com/avrspi.html

Изменено пользователем Juras Pr.

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


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

Там код на асме, я его нивкакую не воспринимаю) На Си слуайно нет ни у кого?

Software SPI

Изменено пользователем Juras Pr.

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


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

а чем не устраивает 2 устройства на 1 аппаратном SPI?

у меня дисплей и ММС(SD) висят и все нормально... CS-ами вручную дергаю...

Все равно у вас оба девайса одновременно не работают.

PS А вообще идея с SD картой очень неплохая, жаль что в наличие только MMC

а какая разница? инициализацию чуть усложнить и поддерживается все подряд и SD и MMC и SDHC...

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


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

... инициализацию чуть усложнить и поддерживается все подряд и SD и MMC и SDHC...

Да вроде и усложнять не надо, если использовать просто как MMC.

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


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

Да вроде и усложнять не надо, если использовать просто как MMC.

4 гиговая SD и 2 gb microSD не захотели кушать cmd1, а вот ACMD41 пожалуйста... (sdhc еще и cmd8 хотят).

так что не все новые карты будут ММС

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


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

Вот моя программа для создания шрифта. Может пригодится. (возможно уже выкладывал)

Не могли бы Вы выложить исходники программы, или добавить возможность созданя бОльших шрифтов(100х100) и разворот на 90градусов?

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


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

Где то на форуме проскакивала информация о редакторе шрифтов SG Bitmap Font Editor.

Считаю ее незаслуженно обошли вниманием.

Из всех рассмотренных я выбрал именно её.

Там можно сделать шрифт любого размера.

Экспорт с помощью макроса (из-за этого я ее и выбрал, как хошь так и экспортируй).

 

Офф сайт:

http://armag.wolfram.ru/sgfed.htm

Мой макрос экспорта:

Packed_d_u_l_r_hex.rarСканирует пикселы снизу-вверх, слева-направо; байты заполняет целиком, без нулей; последний байт добавляет нулями при необходимости. Т.е. упаковывает (не архивирует).

Он же в двоичном формате (наглядно видно цифры):

Packed_d_u_l_r_bin.rar

Шрифт цифры 10х30:

Digits10x30.rar

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


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

Мысли останавливаются.

Пытаюсь подключить LSD s65 ls020.

Включил по схеме из Using the Siemens S65 – Display.pdf

Контроллер ATMega32.

Среда CodeVisionAVR 1.2.5.8.

За основу взят код для ATMega8 пользователя k34Nex (стр.5х темы)

Перевесил соответственно выводы, внес соответствующие изменения в прогу. Результат нулевой.

Замечу, что выполнение программы останавливается на

void lcd_wrcmd16(ui16 cmd)

{

LCD_CS=0;

LCD_RS=1;

SPDR=(cmd>>8);

while (SPSR.7!=1); // вот тут бесконечный цикл получается

delay_us(5);

SPDR=cmd;

while (SPSR.7!=1);

delay_us(5);

LCD_CS=1;

}

 

выяснил это морганием на ноге PA0.

 

Вопрос.

Linker error: global RAM variables size: 2142 bytes is too large - как этот же код компилится на ATMega8

 

Код:

 

/*****************************************************

This program was produced by the

CodeWizardAVR V1.25.5 Standard

Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

 

Project :

Version :

Date : 10.10.2008

Author : F4CG

Company : F4CG

Comments:

 

 

Chip type : ATmega32

Program type : Application

Clock frequency : 20,000000 MHz

Memory model : Small

External SRAM size : 0

Data Stack size : 256

*****************************************************/

char textcolor;

char backcolor;

 

#include <mega32.h>

#include <spi.h>

#include <fonts.h>

#include <defines.c>

#include <delay.h>

#include <disp.lib>

#include <delay.h>

 

 

void putbyte(char byte,char x,char y){

char a,i,c=0b1000000;

for (i=0;i<8;i++){

a=(byte & c);

if (a) {lcd_pset(x,y,textcolor);}

else {lcd_pset(x,y,backcolor);};

c=c/10;

y++;

}

}

 

 

 

void init_avr(void)

{

// Input/Output Ports initialization

// Port B initialization

// Func7=In Func6=In Func5=Out Func4=In Func3=Out Func2=Out Func1=In Func0=In

// State7=T State6=T State5=0 State4=T State3=0 State2=0 State1=T State0=T

PORTB=0x00;

DDRB=0x2C;

 

// Port C initialization

// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00;

DDRC=0xFF;

 

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTD=0x00;

DDRD=0x00;

// SPI initialization

// SPI Type: Master

// SPI Clock Rate: 250,000 kHz

// SPI Clock Phase: Cycle Half

// SPI Clock Polarity: Low

// SPI Data Order: MSB First

SPCR=0x50;

SPSR=0x00;

}

 

 

void main(void)

{

char f,i;

init_avr();

textcolor = red;

backcolor = white;

LCD_RESET=1;

lcd_init();

fill_screen(red);

lcd_str_fl("HELLO",0,black);

//lcd_fillrect(0, 30, 132, 60,grey);

//lcd_fillrect(0, 60, 132, 90,violet);

//lcd_fillrect(0, 90, 132, 120,brown);

//lcd_fillrect(0, 120, 132, 150,orange);

//lcd_fillrect(0, 150, 132, 176,sky);

PORTA = 0x00;

DDRA = 0x01;

while (1)

{

PORTA.0 = 0;

delay_ms(1000);

PORTA.0 = 1;

delay_ms(1000);

}

 

}

 

P.S. Если в ф-ции включить void put_char(char c,u08 font,ui16 color) вместо первого ch=font8x14... поставить ch=font8x8, то компилится.

 

На экране ничего.

Чё не так делаю. Это первый опыт с LCD.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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