pteriks 0 3 апреля, 2009 Опубликовано 3 апреля, 2009 · Жалоба Недавно появилось свобордное время, написал прогу для передачи картинки 132x176 с компа в контроллер для вывода на дисплей, передача через виртуальный com порт (на FT232), работает на скорости 2 мегабита в секунду, оказывается экранчик, несмотря на жалобы некоторых, весьма неплохо отображает картинку, раньше недувалось оценить это, ввиду отсутствия контроллера с большим объемом памяти (хотя на мой взгляд, информацию, не относящуюся к коду, рамещать в контроллеере нецелесообразно, но скорось тут похоже критична, попробую найти время поработать с SD картами, возможно удастся рационально решить проблему передачи картинки с карты памяти в дисплей, сейчас мне судить сложно, поскольку с картами памяти не работал, имею только общее представление, но есть одна задумка) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k34Nex 0 3 апреля, 2009 Опубликовано 3 апреля, 2009 · Жалоба Тоже на днях начал писать свою библиотеку для SD карт. Юзаю Мегу16 + CVAVR. Написал небольшую библиотеку для чтения одного файла с карты с ФАТ16. Читает норм, но когда вешаю дисплей вместе с картой на спи, ничего не работает толком. Дисплей инициализируется, карта нет. Говорили что дисплей даже при поднятом CS принимает данные?.. Может карту на софт спи повесить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krik99 0 3 апреля, 2009 Опубликовано 3 апреля, 2009 (изменено) · Жалоба Карту на софтовый SPI лутче не вешать, так-как он там двунаправленый. А вот дисплей на софтовый SPI повесить... думаю будет в самый раз. Сам щя хочю пробовать пересадить дисплей на софтовый СПИ, говорят он вроде быстрее апаратного. PS А вообще идея с SD картой очень неплохая, жаль что в наличие только MMC :(. Изменено 3 апреля, 2009 пользователем Krik99 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Juras Pr. 0 3 апреля, 2009 Опубликовано 3 апреля, 2009 · Жалоба ...Сам щя хочю пробовать пересадить дисплей на софтовый СПИ, говорят он вроде быстрее апаратного. Софтовый SPI медленнее аппаратного. На аппаратном SPI можно достичь скорости, равной половине тактовой частоты микроконтроллера, а на софтовом так не получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k34Nex 0 4 апреля, 2009 Опубликовано 4 апреля, 2009 · Жалоба Сори за оффтоп, поможет кто нибудь с программным СПИ ? Нашел исходник под ПИК, но он не работает. Заранее спс. Сори за оффтоп, поможет кто нибудь с программным СПИ ? Нашел исходник под ПИК, но он не работает. Заранее спс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Juras Pr. 0 4 апреля, 2009 Опубликовано 4 апреля, 2009 (изменено) · Жалоба Сори за оффтоп, поможет кто нибудь с программным СПИ ? Нашел исходник под ПИК, но он не работает. Заранее спс. Software SPI Master AVR320: Software SPI Master http://avr-asm.tripod.com/avrspi.html Изменено 4 апреля, 2009 пользователем Juras Pr. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k34Nex 0 4 апреля, 2009 Опубликовано 4 апреля, 2009 · Жалоба Там код на асме, я его нивкакую не воспринимаю) На Си слуайно нет ни у кого? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Juras Pr. 0 4 апреля, 2009 Опубликовано 4 апреля, 2009 (изменено) · Жалоба Там код на асме, я его нивкакую не воспринимаю) На Си слуайно нет ни у кого? Software SPI Изменено 4 апреля, 2009 пользователем Juras Pr. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k34Nex 0 5 апреля, 2009 Опубликовано 5 апреля, 2009 · Жалоба Спс, нашел, все работает) Смог вывести картинку с флешки на дисплей)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cyber_RAT 0 6 апреля, 2009 Опубликовано 6 апреля, 2009 · Жалоба а чем не устраивает 2 устройства на 1 аппаратном SPI? у меня дисплей и ММС(SD) висят и все нормально... CS-ами вручную дергаю... Все равно у вас оба девайса одновременно не работают. PS А вообще идея с SD картой очень неплохая, жаль что в наличие только MMC а какая разница? инициализацию чуть усложнить и поддерживается все подряд и SD и MMC и SDHC... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nanobyte 0 6 апреля, 2009 Опубликовано 6 апреля, 2009 · Жалоба ... инициализацию чуть усложнить и поддерживается все подряд и SD и MMC и SDHC... Да вроде и усложнять не надо, если использовать просто как MMC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cyber_RAT 0 6 апреля, 2009 Опубликовано 6 апреля, 2009 · Жалоба Да вроде и усложнять не надо, если использовать просто как MMC. 4 гиговая SD и 2 gb microSD не захотели кушать cmd1, а вот ACMD41 пожалуйста... (sdhc еще и cmd8 хотят). так что не все новые карты будут ММС Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex@ndr 0 20 апреля, 2009 Опубликовано 20 апреля, 2009 · Жалоба Вот моя программа для создания шрифта. Может пригодится. (возможно уже выкладывал) Не могли бы Вы выложить исходники программы, или добавить возможность созданя бОльших шрифтов(100х100) и разворот на 90градусов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
JohnSilver 1 20 апреля, 2009 Опубликовано 20 апреля, 2009 · Жалоба Где то на форуме проскакивала информация о редакторе шрифтов 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lexxa 0 23 апреля, 2009 Опубликовано 23 апреля, 2009 · Жалоба Мысли останавливаются. Пытаюсь подключить 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться