|
Вывод изображения на телевизор в CodeVisionAVR
|
|
| Sergi | Дата: Вторник, 27.11.2012, 23:12 | Сообщение # 46 |
|
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| Я с нуля рисовал шрифт для термометра 12х16. Только цифры,точку и пробел. Вечерок убил .
|
| |
|
|
| pupkin | Дата: Среда, 28.11.2012, 12:59 | Сообщение # 47 |
|
Сержант
Группа: Проверенные
Сообщений: 36
Статус: Offline
| Вот LCD Vision бесплатный http://hpinfotech.ro/html/lcdvision_download.htm в нем можно нарисовать? В горизонтальном положении? тип так:  Добавлено (28.11.2012, 12:59) --------------------------------------------- Я сделал вывод 64 пустых строк потом изображение и потом 64 пустых... http://pastebin.ru/dBlBhAod
|
| |
|
|
| ВитГо | Дата: Среда, 28.11.2012, 18:32 | Сообщение # 48 |
 Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Глянул я программу, похоже то что нужно !!
символ наклонять не нужно ! она сама правильно кодирует их (горизонтальными линиями) так что в ней и нужно рисовать все символы
Виталий (аka ВитГо)
|
| |
|
|
| pupkin | Дата: Среда, 28.11.2012, 19:22 | Сообщение # 49 |
|
Сержант
Группа: Проверенные
Сообщений: 36
Статус: Offline
| пару символов мне достаточно будет... 1 23456789 пускай... что дальше с кодом сгенерированым делать мне?
|
| |
|
|
| ВитГо | Дата: Четверг, 29.11.2012, 05:44 | Сообщение # 50 |
 Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| теперь самое интересное: почитай про SPI
нам нужен будет SPI работающий на частоте 4 мгц
Виталий (аka ВитГо)
|
| |
|
|
| pupkin | Дата: Четверг, 29.11.2012, 17:00 | Сообщение # 51 |
|
Сержант
Группа: Проверенные
Сообщений: 36
Статус: Offline
| Code // SPI functions #include <spi.h> Code // SPI initialization // SPI Type: Master // SPI Clock Rate: 4000,000 kHz // SPI Clock Phase: Cycle Start // SPI Clock Polarity: Low // SPI Data Order: MSB First SPCR=0x50; SPSR=0x00;
http://pastebin.ru/U2pg5X9P
|
| |
|
|
| ВитГо | Дата: Четверг, 29.11.2012, 20:05 | Сообщение # 52 |
 Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ок,
теперь перецепи вывод уровня белого на сигнал MOSI (это как раз выход SPI)
и попробуй вывести что нить после 12-15 мкс от синхроимпульса в 4 мкс в строках изображения (те которые не пустые)
Виталий (аka ВитГо)
|
| |
|
|
| pupkin | Дата: Пятница, 30.11.2012, 08:30 | Сообщение # 53 |
|
Сержант
Группа: Проверенные
Сообщений: 36
Статус: Offline
| не очень понял как... вот код http://pastebin.ru/YsSjLVPd просто черный экран.... если изменить на portc = 2 то будет белый квадрат... значит spi настроен по идее....
|
| |
|
|
| ВитГо | Дата: Пятница, 30.11.2012, 16:04 | Сообщение # 54 |
 Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| чтото я не увидел работы с SPI..
вывод строк изображения это какой номер case?
Виталий (аka ВитГо)
|
| |
|
|
| pupkin | Дата: Пятница, 30.11.2012, 19:46 | Сообщение # 55 |
|
Сержант
Группа: Проверенные
Сообщений: 36
Статус: Offline
| кейс 3: }else if(str > 64 && str <= 224) { как работать то с ним? прерывание сделать или чего?.. и не нужно меня посылать за инфой по spiДобавлено (30.11.2012, 19:46) --------------------------------------------- я наркоман.. там есть ф-ции spi(); и тп) ладно позже заделаю
|
| |
|
|
| ВитГо | Дата: Суббота, 01.12.2012, 02:48 | Сообщение # 56 |
 Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Code if(str > 64 && str <= 224) { ZERO; #asm("nop"); #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop"); #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop"); #asm("nop");#asm("nop"); #asm("nop"); #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop"); #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop"); #asm("nop");#asm("nop"); #asm("nop"); #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop"); #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop"); #asm("nop"); #asm("nop"); #asm("nop"); BLACK; delay_us(20); //---------------------------------------------------------- // вот здесь нужно делать отправку байт изображения при помощи SPI
WHITE; // соответственно это будет не нужно delay_us(30); // соответственно это будет не нужно BLACK; // соответственно это будет не нужно delay_us(8); // соответственно это будет не нужно //--------------------------------------------------------- }
что-то я запамятовал: на какой функциональный вывод сейчас подключена генерация уровня WHITE? должна на MOSI после этого в регистр данных SPDR кидаем байт и и ждем пока не отправиться, потом кидаем следующий....
пример кода на отправку можно взять со страницы 139 даташита по меге 16 для начала попробуй в цикле отправить штук 10 одинаковых байт, например 0х01- и добиться появления на экране вертикальных полосок в 1 пиксель каждые 8 пикселей по ширине
Виталий (аka ВитГо)
|
| |
|
|
| ВитГо | Дата: Суббота, 01.12.2012, 02:51 | Сообщение # 57 |
 Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| судя по тому что ты выводишь управление сигналом в PORTC - у тебя генерация сигнала WHITE сделана не через SPI !!!
переподключай генерацию уровня 1в. с ноги порта С на порт B пин 5
Виталий (аka ВитГо)
|
| |
|
|
| pupkin | Дата: Суббота, 01.12.2012, 14:54 | Сообщение # 58 |
|
Сержант
Группа: Проверенные
Сообщений: 36
Статус: Offline
| Полоска есть... только не белая, а на фиолетовую смахивает .. тонкая... насчет цикла что -то не получилось.. именно подогнать задержки... while(i < 10){ spi(0x01); i++;}
http://pastebin.ru/cvbTj9d1
|
| |
|
|
| ВитГо | Дата: Суббота, 01.12.2012, 16:53 | Сообщение # 59 |
 Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| а выдержка перед отправкой второго байта точно есть в вызове spi() ? в spdr нельзя сувать новые данные если старые не отправились !!
по цвету - смотрите уровень сигнала
Виталий (аka ВитГо)
|
| |
|
|
| ВитГо | Дата: Суббота, 01.12.2012, 16:55 | Сообщение # 60 |
 Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| схему которая сейчас собрана огласите !
я не вижу у вас подключения к выводу MOSI !!!!
Виталий (аka ВитГо)
|
| |
|
|